DB2 XML 编程,第 2 部分: 在应用程序体系结构中使用 XML 数据库支持
2009-11-11 00:00:00 来源:WEB开发网在上面的查询中,必须构造外层的 Customer 元素并添加来自 CUSTXML 列数据的属性。DB2 Viper 2(beta)支持 XQuery 更新表达式,可以修改 XML 文档,所以不需要构造外层的 Customer 元素。可以使用来自客户表的一个 XML 文档,并将来自购买表的商品数据作为子元素插入其中。
清单 4. 针对两个 XML 列的 Viper 2 查询values(xmlquery('
for $Customer in db2-fn:xmlcolumn( "CUSTOMER_TABLE.CUSTXML")/Customer
let $items:=(<Items>{
for $Customer0 in db2-fn:xmlcolumn("PURCHASE_TABLE.ITEMXML")/Customer
where $Customer0/@customerid= $Customer/@customerid
return $Customer0/Item
}</Items>)
where $Customer/@customerid= $customerid
return
transform
copy $cust:=$Customer
modify(
do insert $items as last into $cust)
return $cust
' passing hardeep as "customerid" ))
在上面的查询中,不但搜索、获取和合并了数据库中存储的 XML 文档部分,还在产生的 XML 中添加了新元素。另外,hardeep 被隐式转换为 XML 类型(xs:string)。
对比数据库查询和 Java 应用程序代码
如果将上面的查询与第 1 部分中的 Java 代码(清单 6. 重写应用程序来使用 XML 模型)做一下对比,就会发现它们的逻辑非常相似。
从 CUSTOMER_TABLE 中选择 Customer 信息。
构造一个 Items 元素并在 PURCHASE_TABLE 中搜索这位客户购买的所有商品。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››XML 转成 数组对象
- ››XML注意的转义字符
- ››xml文件正确性验证类实现
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
更多精彩
赞助商链接