add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
CREATE TABLE table_name (xml_value CLOB);
INSERT INTO table_name (xml_value)
SELECT EMPTY_CLOB() || '<AddressDetails>
<SourceAddressID>41</SourceAddressID>
<SourceAddressLevel>BROKER</SourceAddressLevel>
<SourceAddressLevelID>41</SourceAddressLevelID>
<SourceAddressLevelType>BUSINESS</SourceAddressLevelType>
<AddressType>BUSINESS</AddressType>
<Address1>10 Tower Lane</Address1>
<City>MUM</City>
<State>MH</State>
<ZipCode>06001</ZipCode>
<Country>IN</Country>
<PrimaryAddressYN>Y</PrimaryAddressYN>
</AddressDetails>' FROM DUAL UNION ALL
SELECT EMPTY_CLOB() || '<AddressDetails>
<SourceAddressID>11</SourceAddressID>
<SourceAddressLevel>INSURED</SourceAddressLevel>
<SourceAddressLevelID>11</SourceAddressLevelID>
<SourceAddressLevelType>BUSINESS</SourceAddressLevelType>
<AddressType>BUSINESS</AddressType>
<Address1>Remond Street</Address1>
<City>HYD</City>
<State>HY</State>
<ZipCode>05250</ZipCode>
<Country>IN</Country>
<PrimaryAddressYN>Y</PrimaryAddressYN>
</AddressDetails>' FROM DUAL UNION ALL
SELECT EMPTY_CLOB() || '<AddressDetails>
<SourceAddressID>1</SourceAddressID>
<SourceAddressLevel>RISK</SourceAddressLevel>
<SourceAddressLevelID>1</SourceAddressLevelID>
<SourceAddressLevelType>LOCATION</SourceAddressLevelType>
<AddressType>BUILDING</AddressType>
<Address1>46 Main St</Address1>
<City>BENG</City>
<State>KT</State>
3 rows affected
UPDATE table_name
SET xml_value = XMLSERIALIZE(
DOCUMENT
XMLQUERY(
'copy $i := $x modify (
for $j in $i/AddressDetails/SourceAddressLevelType
return replace value of node $j with $new_type
)
return $i'
PASSING XMLTYPE(xml_value) AS "x",
'INSURED' AS "new_type"
RETURNING CONTENT
)
AS CLOB
INDENT SIZE = 4
)
WHERE XMLEXISTS(
'$x/AddressDetails[SourceAddressLevel="INSURED"]'
PASSING XMLTYPE(xml_value) AS "x"
);
1 rows affected
SELECT * FROM table_name
XML_VALUE
<AddressDetails>
    <SourceAddressID>41</SourceAddressID>
    <SourceAddressLevel>BROKER</SourceAddressLevel>
    <SourceAddressLevelID>41</SourceAddressLevelID>
    <SourceAddressLevelType>BUSINESS</SourceAddressLevelType>
    <AddressType>BUSINESS</AddressType>
    <Address1>10 Tower Lane</Address1>
    <City>MUM</City>
    <State>MH</State>
    <ZipCode>06001</ZipCode>
    <Country>IN</Country>
    <PrimaryAddressYN>Y</PrimaryAddressYN>
</AddressDetails>
<AddressDetails>
    <SourceAddressID>11</SourceAddressID>
    <SourceAddressLevel>INSURED</SourceAddressLevel>
    <SourceAddressLevelID>11</SourceAddressLevelID>
    <SourceAddressLevelType>INSURED</SourceAddressLevelType>
    <AddressType>BUSINESS</AddressType>
    <Address1>Remond Street</Address1>
    <City>HYD</City>
    <State>HY</State>
    <ZipCode>05250</ZipCode>
    <Country>IN</Country>
    <PrimaryAddressYN>Y</PrimaryAddressYN>
</AddressDetails>
<AddressDetails>
    <SourceAddressID>1</SourceAddressID>
    <SourceAddressLevel>RISK</SourceAddressLevel>
    <SourceAddressLevelID>1</SourceAddressLevelID>
    <SourceAddressLevelType>LOCATION</SourceAddressLevelType>
    <AddressType>BUILDING</AddressType>
    <Address1>46 Main St</Address1>
    <City>BENG</City>
    <State>KT</State>
    <ZipCode>05250</ZipCode>
    <Country>IN</Country>
</AddressDetails>