WEB开发网
开发学院数据库DB2 用新的 DB2 V9.7 pureXML 特性增强 XML 数据的业务... 阅读

用新的 DB2 V9.7 pureXML 特性增强 XML 数据的业务洞察力和可伸缩性

 2009-12-18 00:00:00 来源:WEB开发网   
核心提示: 创建一个包含关系列和 XML 列的表为 XML 列的特定部分编制索引把数据插入表中执行查询(使用简单的 SQL、SQL/XML 和 XQuery)更新 XML 文档中存储的 XML 元素的值清单 1. 使用 DB2 pureXML--CreateatablewithanintegerandanX

创建一个包含关系列和 XML 列的表

为 XML 列的特定部分编制索引

把数据插入表中

执行查询(使用简单的 SQL、SQL/XML 和 XQuery)

更新 XML 文档中存储的 XML 元素的值


清单 1. 使用 DB2 pureXML

-- Create a table with an integer and an XML column 
CREATE TABLE customer (cid INTEGER, info XML); 
 
-- Create an XML index for customer zip code data 
CREATE INDEX idx1 ON customer(info) GENERATE KEYS USING 
XMLPATTERN '/customerinfo/addr/zip' AS SQL VARCHAR(5); 
 
-- Populate the table with data using a simple INSERT statement 
INSERT INTO customer (cid, info) VALUES (?,?); 
 
-- Retrieve relational data and full XML documents 
-- for customers using simple SQL  
SELECT cid, info 
FROM customer 
WHERE cid > 1234; 
 
-- Retrieve names of customers in a specific zip code 
-- who have an ID of > 1234 using SQL/XML 
SELECT XMLQUERY('$INFO/customer/name') 
FROM customer 
WHERE cid > 1234 and 
XMLEXISTS('$INFO/customer/addr[zip = 95123]'); 
 
-- Retrieve an XML element that lists the names of customers 
-- in a given zip code using XQuery 
xquery for $i in db2-fn:xmlcolumn("CUSTOMER.INFO")/customer 
where $i/addr/zip = 95123 
return <myresult>{$i/name}</myresult> ; 
 
-- Update XML element value related to zip code 
UPDATE customer 
SET INFO = XMLQUERY('copy $new := $INFO 
      modify do replace value of $new/customer/addr/zip 
            with 95141 
      return $new') 
WHERE ...; 

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

Tags:DB pureXML 特性

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