XML型インスタンスを構築するには、以下を使用します。
- NEW演算子
- CREATEXML関数
- XMLPARSE関数
以下の例では、NEW演算子を使用することにより、customerText.customerXMLText列に含まれるXML文書のテキスト表現からXML型インスタンスを構築しています。
customerTextテーブルの中のcustomerXMLTextというVARCHARまたはCLOBの列の中に、XMLがテキスト表現でロードされると、それを使用してXML型のインスタンスを構築することができるようになります。
SELECT customerID, (NEW XML(customerXMLText)).XMLEXTRACT('/Customer/Address', NULL) FROM customerText;
問合わせの結果:
customerID NEW XML(customerXMLText).XMLEXTRACT('/Customer/Address', Null) -------------------------------------------------------------------------- 1 <Address>100 1st Street, San Francisco, CA 94118</Address>
以下の例では、CREATEXML関数を使用することにより、customerText.customerXMLText列に含まれるXML文書のテキスト表現からXML型インスタンスを構築しています。
SELECT customerID, (CREATEXML(customerXMLText)).XMLEXTRACT('/Customer/Address', NULL) FROM customerText;
問合わせの結果:
customerID CREATEXML(customerXMLText).XMLEXTRACT('/Customer/Address', Null) ---------------------------------------------------------------------------- 1 <Address>100 1st Street, San Francisco, CA 94118</Address>
customerText.customerXMLText列としては、VARCHAR、CLOB、またはBLOBのいずれかの型が可能です。
また、XML型インスタンスは、結果としてXML型値を返すその他の操作(キャスト、メソッドや関数の呼び出しなど)によっても生成されます。