XMLFOREST
構文
目的
XMLFOREST
は、各引数パラメータをXMLに変換し、変換された引数を連結したXMLフラグメントを戻します。
-
value_expr
がスカラー式である場合、AS
句は省略できます。この場合、Oracle Databaseは列名を要素名として使用します。 -
value_expr
がオブジェクト型またはコレクションである場合、AS
句は必須です。この場合、Oracleは指定された式を囲みタグとして使用します。この場合、文字列リテラルの
c_alias
を指定するか、またはEVALNAME
value_expr
を指定します。後者の場合は、値の式が評価され、その結果(文字列リテラル)が識別子として使用されます。この識別子は、列名または列の参照である必要はありません。式またはNULLは指定できません。初期化パラメータがMAX_STRING_SIZE
=
STANDARD
の場合は最大4,000文字になります。また、MAX_STRING_SIZE
=
EXTENDED
の場合は最大32,767文字になります。詳細は、「拡張データ型」を参照してください。 -
value_expr
がNULLの場合、そのvalue_expr
に対する要素は作成されません。
例
次の例では、従業員のサブセットに対してEmp
要素を作成します。このとき、Emp
の内容として、employee_id
、last_name
およびsalary
の各要素がネストされます。
SELECT XMLELEMENT("Emp", XMLFOREST(e.employee_id, e.last_name, e.salary)) "Emp Element" FROM employees e WHERE employee_id = 204; Emp Element ---------------------------------------------------------------- <Emp> <EMPLOYEE_ID>204</EMPLOYEE_ID> <LAST_NAME>Baer</LAST_NAME> <SALARY>10000</SALARY> </Emp>
これらの2つのファンクションの出力の比較については、「XMLCOLATTVAL」の例を参照してください。