XMLPUBLISH_STREAM - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - XMLデータ型

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/kxe1590704060061.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1140
Product Category
Software
Teradata Vantage

1つ以上のXML文書をストリームとしてパブリッシュします。

XMLPUBLISH_STREAMストアド プロシージャは、1つ以上のXML文書をストリームとしてパブリッシュします。パブリッシュする文書全体はすべて一度に実体化されるわけではありません。代わりに、XMLPUBLISH_STREAMからはXMLがいくつかの部分に分けて返されます。クライアント側でそれらを連結することにより、整形式XML文書が作成されます。これにより、メモリに制約があっても大きい文書の構築ができます。

文書の処理中に、XMLPUBLISH_STREAMは特定の特殊文字を文字エンティティ参照に変換します。例えば、<は&lt;に変換され、&は&amp;に変換されます。これは、データ内の特殊文字をエスケープして、適切に形成されたXMLを生成するために行なわれます。空の文字列に対しては空の要素が返され、NULL文字列の場合は要素が失われます。

ストアド プロシージャは、入力引数として以下を受け取ります。
  • SQL問合わせ文字列
  • SQL問合わせの結果を目的のXMLツリー構造に変換するマッピング スタイルシート。

    マッピングを指定しない(NULLをXslt引数として渡す)場合、プロシージャは出力としてカノニカルXML表現を返します。

プロシージャは1 つの列XmlStringからなる結果セットを返します。クライアント アプリケーションはXmlString列の値を連結して、パブリッシュするXML文書を作成します。

documentGroupingSpecを指定すると、XMLPUBLISH_STREAMは、documentGroupingSpecに基づいて問合わせ結果をグループ化することにより、複数のXML文書を構築できるようにします。結果セットには、文書の区切りをマーク付けするNULLが組み込まれます。

推奨事項: 以下の場合にXMLPUBLISH_STREAMの代わりにXMLPUBLISHストアド プロシージャを使用します。
  • パブリッシュする文書のサイズが小さい
  • Teradata特有の命令(teradata_groupなど)を使用する必要がない
  • 複数の文書をパブリッシュする必要がある

必要な権限

XMLPUBLISH_STREAMストアド プロシージャがTD_SYSXMLユーザーの下に作成されます。

このストアド プロシージャを呼び出すユーザーには次の権限が必要です。
  • TD_SYSXML上のEXECUTE PROCEDURE
  • ステージング テーブルに対するSELECT権限
  • ターゲット テーブル上のGRANT ALL(挿入/更新/削除/アップサート)

結果のタイプ

結果セットは1つの列(XmlString)で構成されます。パブリッシュするXML文書を作成するには、その値を連結する必要があります。