WEB开发网
开发学院数据库DB2 DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的... 阅读

DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的最佳实践,第 5 部分

 2009-11-12 00:00:00 来源:WEB开发网   
核心提示: updatetradessettradedoc=xmlquery('copy$new:=$TRADEDOCmodifydoreplacevalueof$new/FpML/trade/tradeHeader/partyTradeIdentifier[partyReference/@href

update trades 
 set tradedoc = xmlquery(' 
   copy $new := $TRADEDOC 
   modify do replace value of 
 $new/FpML/trade/tradeHeader/partyTradeIdentifier[partyReference/@href="party1"]/tradeId 
   with "MyGlobal999" 
  return $new') 
 where tradeid = 456;

Figure 1: Updating the tradeId 图 73:更新 tradeId

<TIP>如果你需要在一个文档中更新多个元素,在一个更新语句中联合多个更新。假设我们需要更改图 5 中显示的 FpML 交易的 currency 和 amount 。图 74 显示这个更改子句可以包含一个更新表达式列表来更新一个文档中的多个节点。这比在一个事务中执行多个更新语句更有效。

update trades 
 set tradedoc = xmlquery(' 
    copy $new := $TRADEDOC 
    modify ( 
     do replace value of $new/FpML/trade/termDeposit/principal/currency 
      with "EUR", 
     do replace value of $new/FpML/trade/termDeposit/principal/amount 
      with 40000000 ) 
    return $new') 
 where tradeid = 789;

图 74:同时更新量节点

可以在【 7 】中找到更多 XML 更新的例子

从多个 XML 文档合并数据

当一个应用程序使用的交易文档从数据库中取出来时,他们可能需要用额外的信息来丰富,比如交易各方的更多细节。例如,我们读取交易文档并对每个交易方插入他们在 PARTIES 表中 XML 文档里的名字和汇率信息。结果是一个可以作为一个消息(例如,通过 web 服务)发送给另一个应用程序的单独文档。

上一页  1 2 3 4 5 6 7  下一页

Tags:DB 最佳 实践

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