構文
用途
INSERTCHILDXML
は、ユーザー指定の値を、XPath式で指定したノードのターゲットXMLに挿入します。このファンクションと「INSERTXMLBEFORE」を比較してください。
XMLType_instance
は、XMLType
のインスタンスです。
XPath_string
は、1つ以上の子ノードが挿入されるノードを1つ以上示すXPath式です。先頭にスラッシュを付けて絶対XPath_string
を指定したり、先頭のスラッシュを省略して相対XPath_string
を指定できます。先頭のスラッシュを省略した場合、相対パスのコンテキストは、デフォルトでルート・ノードに設定されます。
child_expr
は、挿入する要素または属性のノードを1つ以上指定します。
value_expr
は、挿入されるノードを1つ以上指定するXMLType
のフラグメントです。これは文字列に変換する必要があります。
オプションのnamespace_string
は、XPath_string
のネームスペース情報を提供します。このパラメータは、VARCHAR2
型である必要があります。
関連項目: このファンクションの詳細は、『Oracle XML DB開発者ガイド』を参照してください。 |
例
次の例では、2番目の/Owner
ノードを、「APPENDCHILDXML」の例で更新したウェアハウスの1つのwarehouse_spec
に追加します。
UPDATE warehouses SET warehouse_spec = INSERTCHILDXML(warehouse_spec, '/Warehouse/Building', 'Owner', XMLType('<Owner>LesserCo</Owner>')) WHERE warehouse_id = 3; SELECT warehouse_spec FROM warehouses WHERE warehouse_id = 3; WAREHOUSE_SPEC ---------------------------------------------------------------------------- <?xml version="1.0"?> <Warehouse> <Building>Rented <Owner>Grandco</Owner> <Owner>LesserCo</Owner> </Building> <Area>85700</Area> <DockType/> <WaterAccess>N</WaterAccess> <RailAccess>N</RailAccess> <Parking>Street</Parking> <VClearance>11.5 ft</VClearance> </Warehouse>