構文
用途
DELETEXML
は、ターゲットXMLのXPath式で一致する単一または複数のノードを削除します。
XMLType_instance
は、XMLType
のインスタンスです。
XPath_string
は、削除するノードを1つ以上指定するXPath式です。先頭にスラッシュを付けて絶対XPath_string
を指定したり、先頭のスラッシュを省略して相対XPath_string
を指定できます。先頭のスラッシュを省略した場合、相対パスのコンテキストは、デフォルトでルート・ノードに設定されます。XPath_string
で指定したノードの子ノードも削除されます。
オプションのnamespace_string
は、XPath_string
のネームスペース情報を提供します。このパラメータは、VARCHAR2
型である必要があります。
関連項目: このファンクションの詳細は、『Oracle XML DB開発者ガイド』を参照してください。 |
例
次の例では、「APPENDCHILDXML」の例で変更したウェアハウスの1つのwarehouse_spec
から/Owner
ノードを削除します。
UPDATE warehouses SET warehouse_spec = DELETEXML(warehouse_spec, '/Warehouse/Building/Owner') WHERE warehouse_id = 2; SELECT warehouse_id, warehouse_spec FROM warehouses WHERE warehouse_id in (2,3); ID WAREHOUSE_SPEC ---------- ----------------------------------- 2 <?xml version="1.0"?> <Warehouse> <Building>Rented</Building> <Area>50000</Area> <Docks>1</Docks> <DockType>Side load</DockType> <WaterAccess>Y</WaterAccess> <RailAccess>N</RailAccess> <Parking>Lot</Parking> <VClearance>12 ft</VClearance> </Warehouse> 3 <?xml version="1.0"?> <Warehouse> <Building>Rented<Owner>Grandco</Owner> </Building> <Area>85700</Area> <DockType/> <WaterAccess>N</WaterAccess> <RailAccess>N</RailAccess> <Parking>Street</Parking> <VClearance>11.5 ft</VClearance> </Warehouse>