XMLツリー構造を行セットに変換します。
構文
XMLTABLE ( [ XML_namespace_declaration , ] 'XML_tab_row_pattern' [ XML_query_argument ] [ COLUMNS { column_name FOR ORDINALITY | regular_column_definition } [,...] ] )
デフォルトの名前空間宣言項目は、1回のみ含めることができます。それは、カンマ区切り名前空間宣言のリストの中の任意の位置、またはリストの末尾に出現可能です。
- XML_namespace_declaration
XMLNAMESPACES ( { 'XML_namespace_URI' AS XML_namespace_prefix | DEFAULT 'XML_namespace_URI' | NO DEFAULT } [,...] )
ここに指定される名前空間宣言は、問合わせのプロローグの中で宣言されている名前空間によって上書きされます。- XML_query_argument
PASSING [ BY VALUE ] { XML_query_context_item | XML_query_variable_spec [,...] }
- regular_column_definition
column_name_data_type [ PATH 'char_str_literal' ] [ default_clause ]
オプションの句は任意の順序で指定できます。- XML_query_variable_spec
XML_query_variable AS variable_name
- XML_query_variable
以下の形式のXML問合わせ変数
value_expression AS identifier
- 'XML_tab_row_pattern'
- 文字列リテラルとして指定する有効なXQuery式。項目ごとに1行がこの問合わせの結果の中に生成されます。
- COLUMNS
関数から返されるテーブルの中の列。
指定されない場合、COLUMN_VALUEという単一の列が関数から返されます。その内容は、行パターン問合わせの評価結果のXML型値です。
- column_name
- 出力テーブルの中での列の名前。
- FOR ORDINALITY
- 列の内容は、最初の行を1として生成される行の順序番号を表わす整数です。
- 'XML_namespace_URI'
- XML名前空間を識別するURI(Uniform Resource Identifier)。
- XML_namespace_prefix
- 名前空間接頭辞。
- BY VALUE
- 行パターン問合わせ引数は値渡しです。これは、デフォルトです。
- XML_query_content_item
XML問合わせコンテキスト項目を表わす値式。
渡すことができるコンテキスト項目は1つのみです。
- column_name_data_type
- 出力テーブルの中での列のデータ型。
- PATH 'char_str_literal'
- XMLテーブル列パターン、列値を返す問合わせ。この問合わせは、行問合わせから返される項目に対する相対値として評価されます。つまり、行問合わせから返される項目がコンテキスト項目として使用されます。結果の値は列データ型にキャストされます。
- default_clause
列問合わせから返される結果がない場合に使用される列のデフォルト値。
デフォルト句は、CLOB、BLOB、UDTなどの特定のデータ型には適用されません。