注意: 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