WEB开发网
开发学院数据库DB2 在 DB2 SQL 存储过程中使用 XML 阅读

在 DB2 SQL 存储过程中使用 XML

 2009-11-23 00:00:00 来源:WEB开发网   
核心提示: CALLex_proc(XMLPARSE(DOCUMENT'<customer><custid>HX25</custid></customer>'));声明参数新的 XML 数据类型可以作为参数传递进存储过程中,可以采用任何模式(输

CALL ex_proc(XMLPARSE(DOCUMENT '<customer><custid>HX25</custid></customer>')); 

声明参数

新的 XML 数据类型可以作为参数传递进存储过程中,可以采用任何模式(输入、输出或者同时作为输入/输出)。在声明数据类型为 XML 时,不指定长度。与将 XML 数据作为 CLOB 或 VARCHAR 处理(这需要指定最大长度)相比,这是一项不错的改进。
清单 6. 声明参数

CREATE PROCEDURE process_cust 
( 
 IN   inpdoc  XML, 
 OUT  outdoc  XML, 
 INOUT doc3   XML 
) 
LANGUAGE SQL 
NO EXTERNAL ACTION 
BEGIN 
 ... 
END 

声明变量

变量可以声明为 XML 类型。与参数的情况一样,不指定长度。
清单 7. 声明变量

CREATE PROCEDURE ex_proc 
LANGUAGE SQL 
NO EXTERNAL ACTION 
BEGIN 
 DECLARE v_xml  XML; 
 ... 
END 

变量赋值

除了从游标获得数据之外,可以使用三种不同的技术将来自单行查询的值装载进变量中:

SET 语句

SELECT INTO

VALUES INTO

这三种技术都可以使用 SQL/XML 函数,尤其是 XMLQUERY。本节中后面的示例分别演示这些技术。

下面的所有示例都使用同样的输入/输出参数列表、同样的输入数据和同样的 SQL/XML 函数,并产生同样的结果。将三个参数传递给存储过程。第一个参数是一个输入 XML 文档。第二个参数是一个输出 VARCHAR。第三个参数是一个输出 XML 文档。

这些示例:

演示如何使用 XMLCAST,在将 XML 数据提取为标准关系数据类型(例如,CHAR 或 INT)时常常使用这种方法。

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

Tags:DB SQL 存储

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