Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / XML
 

Use value function with single xmltype table

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> 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>