1.14.1 XML型の記述形式
- 〈この項の構成〉
(1) 形式
XML型はデータ型を指定する箇所に,次に示す形式で指定します。
XML
(2) データ形式
XML型はXML変換コマンド(phdxmlcnv)又はXML変換ライブラリを使用して,XML文書を解析した形式で処理します。この形式をESIS-B形式と呼びます。
(3) 最大長
XML型の値は,ESIS-B形式で2,147,483,647バイト以下である必要があります。ESIS-B形式の長さは,XML文書の長さだけではなく,XML要素数などの構造にも依存します。
(4) 値の生成
XML型の値はXMLコンストラクタ関数又はXMLPARSE関数で生成できます。
XMLコンストラクタ関数については,「XMLコンストラクタ関数」を参照してください。XMLPARSE関数については,「XMLPARSE」を参照してください。
(5) 値の取り出し
UAPでXML型の値を直接取り出すことはできません。XML型の値は,次の方法でVARCHAR型又はBINARY型の値として取り出すことができます。
-
XMLSERIALIZE関数で,VARCHAR型又はBINARY型の値に変換する。
(6) 値式の指定
XML型の値式として指定できるものを次に示します。
-
列指定
-
XMLコンストラクタ関数
-
XMLQUERY関数
-
XMLAGG集合関数
-
XMLPARSE関数
(7) 変換(代入,比較)できるデータ型
XML型の値は,XML型で定義された列,SQL変数,SQLパラメタにだけ代入できます。ほかのデータ型の値はXML型に代入できません。また,ほかのデータ型及びXML型との比較はできません。
(8) ナル値
XMLコンストラクタ関数を指定して値を生成していない場合,及びXMLコンストラクタ関数の引数にナル値を指定した場合は,XML型の値はナル値になります。また,XMLPARSE関数の引数にナル値を指定した場合,XML型の値はナル値になります。
(9) 使用上の注意事項
-
XML型及び次の機能を使用するには,所有者をMASTERとしてHiRDB XML Extensionと連携する必要があります。
-
XMLコンストラクタ関数
-
XMLQUERY関数
-
XMLSERIALIZE関数
-
XMLEXISTS述語
-
XMLAGG集合関数
-
XMLPARSE関数
-
CREATE INDEX 形式3 (部分構造インデクス定義)
-
-
XML型は,次に示す機能では使用できません。
-
CREATE INDEX 形式1によるインデクス定義
-
ソート
-
グループ分け
-
集合演算,四則演算,連結演算
-
XMLAGGを除く集合関数
-
重複排除
-
CASE式
-
CAST指定
-
外への参照列
-
-
INSERT文及びUPDATE文で列に格納できるXML型の値は,XMLコンストラクタ関数で生成した値を,挿入値又は更新値として指定した場合だけです。