• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

通过RPG来使用IBM DB2 for i 7.1提供的SQL/XML函数

mysql 搞代码 4年前 (2022-01-09) 24次浏览 已收录 0个评论

本文展示了通过 RPG 来使用 IBM DB2 for i 7.1 提供的 SQL/XML 函数的几个示例。文中展示了如何将 SQL 语句嵌入 RPG 程序,从而执行涉及 XML 数据的关系查询并生成 XML 结果。本文中演示了 SQL/XML 发布函数和近期发布的 XMLTABLE 函数。

对于任何企业来说,应用程序的现代化和 Web 支持都是极为重要的目标,但这同时也带来了一些挑战。通常,这些企业希望把 IT 资源的重心放在改进过去使用成功的基础架构,而不是编写全新的应用程序。在 IBM i 平台上,现代化通常意味着把RPG编写的应用程序改成基于Web的应用。由于目前存在大量通过 Web 传输数据的 XML 标准,因此在 RPG 中提供 XML 功能至关重要。RPG 程序员必须认识到,DB2 for i 引入的原生 XML 数据类型,为支持嵌入式 SQL(包括 RPG)各种编程语言提供了一整套全新的选择来同时处理 XML 和传统数据。

在关系查询中使用来自 XML 文档的数据

假设我有一个应用程序,用它在关系数据库表中跟踪客户订单。为了完成这项任务,我需要使用 SQL 在模式 (RPG_ORDERS) 中创建以下 ORDERS 表,并在其中插入一些记录:

清单 1. SQL 创建和插入语句

				 CREATE TABLE rpg_orders.orders( 	order_id BIGINT GENERATED ALWAYS AS IDENTITY( 	                START WITH 100<mark>本文来源gaodaimacom搞#^代%!码&网(</mark>0 INCREMENT BY 1 	                NO MINVALUE NO MAXVALUE 	                NO CYCLE NO ORDER 	CACHE 20 ),	Cust_email VARCHAR(50), 	Order_ts   TIMESTAMP , 	Product    VARCHAR(50) CCSID 37, 	Price      DOUBLE PRECISION , 	PRIMARY KEY(order_id) )   	; INSERT INTO rpg_orders.orders (cust_email, order_ts, product, price)VALUES('[email protected]', '2012-04-15 13:00:00', 'Camera',  999.50),('[email protected]', '2012-04-16 12:00:00', 'lens', 500.25),('[email protected]', '2012-04-01 11:00:00', 'Book',  15.00),('[email protected]', '2012-04-15 13:05:00', 'Book', 20) ;

对于请求为拥有匹配的电子邮件地址并在指定时间段内完成的订单生成一个报告的程序,这个基于 Web 的应用程序将提供一个 XML 文档。

清单 2 给出了一个示例请求文档。

清单 2. 信息请求文档示例

				<?xml version="1.0" encoding="UTF-8" ?>  [email protected]   2012-04-14T:00:00:00    2012-04-30T23:59:59 

我的第一个 RPG 程序从文件中检索一个 XML 信息请求,并用它在假脱机文件中生成了一个报告。可以假设我们正在从标准输出或套接字中读取此数据 —— 但为保持示例的简洁,流文件便足以阐述相关概念。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:通过RPG来使用IBM DB2 for i 7.1提供的SQL/XML函数

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址