WEB开发网
开发学院数据库DB2 DB2 XML 编程,第 2 部分: 在应用程序体系结构中使... 阅读

DB2 XML 编程,第 2 部分: 在应用程序体系结构中使用 XML 数据库支持

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 循环遍历列表中的每个商品并将它们插入 Items 元素,将 Items 元素插入 Customer 元素,DB2 XML 编程,第 2 部分: 在应用程序体系结构中使用 XML 数据库支持(7),创建存储过程为了将数据库中的业务逻辑与应用程序代码隔离开,一种好方法是为这个查询创建一个存储过程,

循环遍历列表中的每个商品并将它们插入 Items 元素。

将 Items 元素插入 Customer 元素。

创建存储过程

为了将数据库中的业务逻辑与应用程序代码隔离开,一种好方法是为这个查询创建一个存储过程。


清单 5. 创建存储过程
CREATE PROCEDURE customerItems(IN custid varchar(12)) 
DYNAMIC RESULT SETS 1 
LANGUAGE SQL 
BEGIN 
DECLARE c_cur CURSOR WITH RETURN FOR 
 
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 custid as "customerid" )) 
OPEN c_cur; 
END 

用存储过程调用替代应用程序代码

应用程序代码现在可以对 DB2 进行存储过程调用并将 XML 传递给 DOM 包装器。第 1 部分中的 XML 数据模型的应用程序代码(清单 6. 重写应用程序来使用 XML 模型,2-8 行)可以简化为:

2. ResultSet dbResult = dbstmt.executeQuery("call customerItems ("+custid+")" 
3. XMLParse customerXML = new XMLParse(dbResult. getString(1)); 

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:DB XML 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接