16.20 - 例: CREATEXMLを使用したXML型インスタンスの作成 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ XMLデータ型

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1140-162K-JPN
Language
日本語 (日本)

以下の問合わせでは、customerXMLText列に格納されているテキスト表現に基づいて、XML型インスタンスが作成されます。その列の型としては、VARCHARまたはCLOBが可能です。

SELECT customerID, CREATEXML(customerXMLText)
FROM customerText;

この問合わせの結果の一部を以下に示します。省略記号(...)は、問合わせ結果の一部ではありません。これは、問合わせからさらに結果が返されるが、この例では省略されていることを示しています。

 customerID CREATEXML(customerXMLText)
----------- -----------------------------------------------------------
          1 <?xml version="1.0" encoding="UTF-8" ?> <Customer>  <Name>John Hancock</Name>  <Address>100 1st Street, San Francisco, CA 94118</Address>  <Phone1>(858)555-1234</Phone1>  <Phone2>(858)555- ...

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>
SELECT customerID, CREATEXML(customerXMLText).ISSCHEMAVALID(schematab.schemaContent,
'Customer', NULL)
FROM customerText, schematab
WHERE schematab.schemaid = 'customerschema.xsd';

問合わせの結果:

customerID CREATEXML(customerXMLText).ISSCHEMAVALID(schemaContent, 'Customer', NULL)
---------- ------------------------------------------------------------------------
         1                                                                        1