プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
12cリリース1 (12.1)
B71278-13
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

XMLCOLATTVAL

構文

xmlcolattval.gifの説明が続きます。
図xmlcolattval.gifの説明

用途

XMLCOLATTVALは、XMLフラグメントを作成し、各XMLフラグメントの名前がcolumn、属性がnameとなるように、結果としてできたXMLを展開します。

AS句を使用して、name属性の値を列名以外の値に変更できます。この場合、文字列リテラルのc_aliasを指定するか、またはEVALNAME value_exprを指定します。後者の場合は、値の式が評価され、その結果(文字列リテラル)が別名として使用されます。この別名は、初期化パラメータがMAX_STRING_SIZE = STANDARDの場合は最大4,000文字になります。また、MAX_STRING_SIZE = EXTENDEDの場合は最大32,767文字になります。詳細は、「拡張データ型」を参照してください。

value_exprの値を指定する必要があります。value_exprがNULLの場合、要素は戻されません。

XMLColAttValの制限事項: value_exprにオブジェクト型の列を指定することはできません。

次の例では、従業員のサブセットに対してEmp要素を作成します。このとき、Empの内容として、employee_idlast_nameおよびsalaryの各要素がネストされます。ネストされた各要素にはcolumnという名前が付き、属性値として列名を持つname属性が与えられます。

SELECT XMLELEMENT("Emp",
   XMLCOLATTVAL(e.employee_id, e.last_name, e.salary)) "Emp Element"
   FROM employees e
   WHERE employee_id = 204;

Emp Element
--------------------------------------------------------------------
<Emp>
  <column name="EMPLOYEE_ID">204</column>
  <column name="LAST_NAME">Baer</column>
  <column name="SALARY">10000</column>
</Emp>

これらの2つのファンクションの出力の比較については、「XMLFOREST」の例を参照してください。