Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101961073
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-13 13:27:52

     来源:IBM   

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',?,?);
阅读(239) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~