DB2 XML 编程,第 2 部分: 在应用程序体系结构中使用 XML 数据库支持
2009-11-11 00:00:00 来源:WEB开发网核心提示: 用 DB2 查询替代应用程序代码我们不必在应用程序层中合并来自两个表的 XML 数据,可以在数据库中用一个 SQL/XML 查询实现相同的效果,DB2 XML 编程,第 2 部分: 在应用程序体系结构中使用 XML 数据库支持(5),这需要一个 CUSTOMER_TABLE.CUSTXML/Cu
用 DB2 查询替代应用程序代码
我们不必在应用程序层中合并来自两个表的 XML 数据,可以在数据库中用一个 SQL/XML 查询实现相同的效果。这需要一个 CUSTOMER_TABLE.CUSTXML/Customer/@customerid 到 PURCHASE_TABLE.ITEMXML/Customer/@customerid 的一对多联结。
图 3. 联结两个 XML 列
图片看不清楚?请点击这里查看原图(大图)。
清单 3. 查询两个 XML 列
values(xmlquery('
for $Customer in db2-fn:xmlcolumn( "CUSTOMER_TABLE.CUSTXML")/Customer
where $Customer/@customerid= $customerid
return
<Customer customerid ="{$Customer/@customerid}"
firstname ="{$Customer/@firstname}" lastname ="{$Customer/@lastname}" >{
for $Customer0 in db2-fn:xmlcolumn("PURCHASE_TABLE.ITEMXML")/Customer
where $Customer0/@customerid= $Customer/@customerid
return $Customer0/Item
}</Customer>
' passing cast( ? AS varchar(255) ) as "customerid" ))
对于客户 hardeep 购买的所有商品,产生的 XML 如下:
图 4. 查询结果
[]
- ››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 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
- ››编程实例 一个简单的智能感知效果
- ››DB2 存储过程中如何使用 Optimization Profile
- ››DB2 pureScale 新特性 -- Member Restart
- ››XML数据读取方式性能比较(一)
更多精彩
赞助商链接