3.6.8.2. XMLTABLE


XMLTABLE 関数は、XQuery を使用して表形式出力を生成します。XMLTABLE 関数は暗黙的にネストされたテーブルで、FROM 句内で使用できます。XMLTABLE は SQL/XML336 仕様の一部です。

用途

XMLTABLE([<NSP>,] xquery-expression [<PASSING>] [COLUMNS <COLUMN>, ... ]) AS name
Copy to Clipboard Toggle word wrap

COLUMN := name (FOR ORDINALITY | (datatype [DEFAULT expression] [PATH string]))
Copy to Clipboard Toggle word wrap

NSP - XMLNAMESPACES の定義については、「 XMLELEMENT in XML 関数 」を参照してください。PASSING の定義については、XML 関数XMLQUERY を参照してください。

注記

XQuery の最適化 」も参照してください。

パラメーター

  • オプションの XMLNAMESPACES 句は、XQuery および COLUMN パス式で使用できる namepaces を指定します。
  • xquery-expression は有効な XQuery である必要があります。xquery によって返される各シーケンスアイテムは、COLUMNS 句で定義されている値行を作成するために使用されます。
  • COLUMNS が指定されていない場合は、以下の例のように、アイテム全体を XML 値として返す COLUMNS 句と同等です。

    "COLUMNS OBJECT_VALUE XML PATH '."'
    Copy to Clipboard Toggle word wrap
  • FOR ORDINALITY 列は整数として入力され、1 ベースのアイテム番号を値として返します。
  • 各ordinalityの列は型を指定し、オプションで PATH 式と DEFAULT 式を指定します。
  • PATH が指定されていない場合、パスは列名と同じです。

構文ルール

  • FOR ORDINALITY 列のみを指定できます。
  • 列名に重複を含めることはできません。
  • バイナリー大規模なオブジェクト(BLOB)データ型を使用できますが、xs:hexBinary 値には互換性が同梱されます。xs:base64Binary の場合は、明示的な値コンストラクター( xs:base64Binary(<path>)を使用する PATH の回避策を使用 します。
  • アレイ以外のタイプが予想される場合は、列式は単一の値に評価される必要があります。
  • 配列型を指定すると、シーケンスに要素がない場合は null 値が返されます。
  • 値は空の文字列であるため、空の要素は有効な null 値ではありません。xsi:nil 属性を使用して要素に null 値を指定します。

XMLTABLE の例

PASSING の使用(1 行を返します [1])
select * from xmltable('/a' PASSING xmlparse(document '<a id="1"/>') COLUMNS id integer PATH '@id') x
Copy to Clipboard Toggle word wrap
ネストされたテーブルとして
select x.* from t, xmltable('/x/y' PASSING t.doc COLUMNS first string, second FOR ORDINALITY) x
Copy to Clipboard Toggle word wrap
無効な多値
select * from xmltable('/a' PASSING xmlparse(document '<a><b id="1"/><b id="2"/></a>') COLUMNS id integer PATH 'b/@id') x
Copy to Clipboard Toggle word wrap
アレイ多値
select * from xmltable('/a' PASSING xmlparse(document '<a><b id="1"/><b id="2"/></a>') COLUMNS id integer[] PATH 'b/@id') x
Copy to Clipboard Toggle word wrap
nil 要素
select * from xmltable('/a' PASSING xmlparse(document '<a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><b xsi:nil="true"/></a>') COLUMNS id integer PATH 'b') x
Copy to Clipboard Toggle word wrap
注記

上記の例では、nil 属性(xsi:nil="true")が指定されていない場合に例外がスローされ、b を整数値に変換します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat