説明
この関数は、XMLドキュメントの内容をXML要素を含むVARRAYに変換します。XMLドキュメント内の各要素を行として返すことで、XML要素を含む集合が形成されます。
構文
XMLSEQUENCE( XMLType_instance)
説明
XMLSEQUENCE 関数は SELECT 句での使用をサポートしていません。
パラメータの説明
| フィールド | 説明 |
|---|---|
| XMLType_instance | このパラメータはXML型のインスタンスであり、関数の入力として使用されます。 |
戻り値のタイプ
XMLTypeコレクションを返します。
例
XMLSEQUENCE 関数と EXTRACT 関数を使用して、ターゲットXMLから指定されたノードを抽出します。ターゲットXMLセグメントは <Videogame> ノードとその子ノードです。XPath式は /Videogame/* であり、これは <Videogame> ノードの下のすべての子ノードを抽出するよう指示します。XMLSEQUENCE 関数は抽出したノードをテーブルの一部として返します。TABLE 関数を使用して、これをクエリ可能なテーブルに変換します。クエリ結果では、ROWNUM を行番号として使用し、抽出したノード値を column_value 列の値として返します。
SELECT rownum, column_value
FROM TABLE(
XMLSEQUENCE(
extract(
XMLtype('<Videogame>
<Type>Racing</Type>
<Name>NFS Most Wanted</Name>
<Version>2.0</Version>
<Size>5.5 GB</Size>
</Videogame>'),
'/Videogame/*'
)
)
);
実行結果は次のとおりです:
+--------+-------------------------------+
| ROWNUM | COLUMN_VALUE |
+--------+-------------------------------+
| 1 | <Type>Racing</Type> |
| 2 | <Name>NFS Most Wanted</Name> |
| 3 | <Version>2.0</Version> |
| 4 | <Size>5.5 GB</Size> |
+--------+-------------------------------+
4 rows in set