説明
この関数は、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