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

前
 
次
 

INSERTCHILDXMLBEFORE


注意:

INSERTCHILDXMLBEFOREファンクションは、非推奨です。これは、下位互換性を保つためにのみサポートされています。そのかわりに、XQuery Updateを使用してください。詳細は、『Oracle XML DB開発者ガイド』を参照してください。

構文

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

用途

INSERTXMLCHILDBEFOREは、1つ以上のコレクション要素をターゲット親要素の子として挿入します。各ターゲットは、指定された既存のコレクション要素の直前に挿入されます。挿入のターゲットである既存のXML文書は、XML Schemaに基づく文書でも、XML Schemaに基づかない文書でもかまいません。


関連項目:

このファンクションの詳細は、『Oracle XML DB開発者ガイド』を参照してください。

次の例は、INSERTCHILDXMLの例と似ていますが、この例では、INSERTCHILDXMLの例で追加された/Ownerノードの前に、3番目の/Ownerノードが追加されています。問合せの出力は読み取りやすいように整えられています。

UPDATE warehouses
  SET warehouse_spec = INSERTCHILDXMLBEFORE(warehouse_spec, '/Warehouse/Building',
    'Owner[2]', XMLType('<Owner>ThirdOwner</Owner>'))
  WHERE warehouse_id = 3;

SELECT warehouse_name,
       EXTRACT(warehouse_spec, '/Warehouse/Building/Owner') "Owners"
  FROM warehouses
  WHERE warehouse_id = 3;

WAREHOUSE_NAME                      Owners
----------------------------------- ------------------------------
New Jersey                          <Owner>GrandCo</Owner>
                                    <Owner>ThirdOwner</Owner>
                                    <Owner>LesserCo</Owner>