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

用途
APPENDCHILDXMLは、ユーザー指定の値を、XPath式で指定したノードの子としてターゲットXMLに追加します。
XMLType_instanceは、XMLTypeのインスタンスです。
XPath_stringは、1つ以上の子ノードが追加されるノードを1つ以上指定するXPath式です。先頭にスラッシュを付けて絶対XPath_stringを指定したり、先頭のスラッシュを省略して相対XPath_stringを指定できます。先頭のスラッシュを省略した場合、相対パスのコンテキストは、デフォルトでルート・ノードに設定されます。
value_exprは、XMLTypeの1つ以上のノードを指定します。これは文字列に変換する必要があります。
オプションのnamespace_stringは、XPath_stringのネームスペース情報を提供します。このパラメータは、VARCHAR2型である必要があります。
|
関連項目: このファンクションの詳細は、『Oracle XML DB開発者ガイド』を参照してください。 |
例
次の例では、/Buildingノードの値が「Rented」の場合に、/Ownerノードをoe.warehouses表のwarehouse_specの/Warehouse/Buildingノードに追加します。
UPDATE warehouses
SET warehouse_spec = APPENDCHILDXML(warehouse_spec, 'Warehouse/Building',
XMLType('<Owner>Grandco</Owner>'))
WHERE EXTRACTVALUE(warehouse_spec, '/Warehouse/Building') = 'Rented';
SELECT warehouse_id,
warehouse_name,
EXTRACTVALUE(warehouse_spec, '/Warehouse/Building/Owner') "Prop.Owner"
FROM warehouses
WHERE EXISTSNODE(warehouse_spec, '/Warehouse/Building/Owner') = 1;
WAREHOUSE_ID WAREHOUSE_NAME Prop.Owner
------------ --------------- ----------
2 San Francisco Grandco
3 New Jersey Grandco