SQL> create table myTable of xmltype;
Table created.
SQL>
SQL> insert into myTable values(XMLTYPE('
2
3 Chris
4 123 555-1234
5 '))
6 /
1 row created.
SQL>
SQL> select * from myTable;
SYS_NC_ROWINFO$
------------------------------------------------------
Chris
123 555-1234
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>