日本語PDF

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_idlast_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」の例を参照してください。