XMLUpdate 示例
对于 XMLUpdate 示例,请执行以下步骤:
创建测试表:
Create table XMLCustomer(cid integer not null PRIMARY KEY, info XML ); |
将示例 XML 文档插入表中:
Insert into XMLCustomer (cid, info ) values (1006 ,
XMLPARSE ( DOCUMENT '
Hardeep Singh
555 Bailey Ave
CA
95141
543-4610
'
PRESERVE WHITESPACE ) ); |
注意:由于更新调用修改了初始的 XML 文档,所以您需要为某些查询而删除插入的文档,并重新插入它。
示例查询
下面是示例查询:
替换节点:action=replace。
通过使用复杂名称元素替换简单名称元素来更新测试文档:
Call DB2XMLFUNCTIONS.XMLUPDATE (
'
HardeepSingh
',
'Select info from XMLCustomer where cid=1006',
'update XMLCustomer set info=? where cid=1006',?,?); |
使用 SQL 查询获取新值以进行更新:
using=SQL。
Call DB2XMLFUNCTIONS.XMLUPDATE (
'
select cid from XMLCustomer where cid=1006
',
'Select info from XMLCustomer where cid=1006',
'update XMLCustomer set info=? where cid=1006',?,?); |
使用给定表达式来计算值:
action=compute。
Call DB2XMLFUNCTIONS.XMLUPDATE (
'
(20+?)*32-?
',
'Select info from XMLCustomer where cid=1006',
'update XMLCustomer set info=? ÿhere cid=1006',?,?); |
对目标 XML 文档执行多个操作:
Call DB2XMLFUNCTIONS.XMLUPDATE (
'
select cid from XMLCustomer where cid=1006
(2+?)*10-?
',
'Select info from XMLCustomer where cid=1006',
'update XMLCustomer set info=? where cid=1006',?,?); |
更新文档时对其进行验证。
为此,您需要创建模式并在 XSR 中注册。
Call DB2XMLFUNCTIONS.XMLUPDATE (
'
select cid from XMLCustomer where cid=1006
',
'Select info from XMLCustomer where cid=1006',
'update XMLCustomer set info=xmlvalidate(
? according to XMLSCHEMA ID test.schema2) where cid=1006',?,?) |
使用 XMLUpdate 替换属性值。
Call DB2XMLFUNCTIONS.XMLUPDATE (
'
tie line
',
'Select info from XMLCustomer where cid=1006',
'update XMLCustomer set info=? where cid=1006',?,?); |
使用 XMLUpdate 替换文本值。
Call DB2XMLFUNCTIONS.XMLUPDATE (
'
San Jose
',
'Select info from XMLCustomer where cid=1006',
'update XMLCustomer set info=? where cid=1006',?,?); | |