existsnode and where clause
SQL> create table myTable of xmltype; Table created. SQL> SQL> insert into myTable values(XMLTYPE(' 2 <customer> 3 <name>Chris</name> 4 <telephone>123 555-1234</telephone> 5 </customer>')) 6 / 1 row created. SQL> SQL> select * from myTable; SYS_NC_ROWINFO$ ------------------------------------------------------ <customer> <name>Chris</name> <telephone>123 555-1234</telephone> </ 1 row selected. SQL> SQL> update myTable c 2 set value(c) = updateXML(value(c), '/customer/name/text()','new value') 3 / 1 row updated. SQL> SQL> SQL> select extractvalue(value(c),'/customer/telephone') 2 from myTable c 3 where existsnode(value(c),'/customer/name = "Chris"') = 1 4 / no rows selected SQL> SQL> drop table myTable; Table dropped. SQL>
1. | Oracle XML function ExistsNode. | ||
2. | Count(*) and existsnode() | ||
3. | existsnode(myValue, '/ROWSET') |