通过RPG来使用IBM DB2 for i 7.1提供的SQL/XML函数
本文展示了通过 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 1000 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 ('ntl@us..com', '2012-04-15 13:00:00', 'Camera', 999.50 ), ('ntl@us..com', '2012-04-16 12:00:00', 'lens', 500.25), ('ntl@us.ibm.com', '2012-04-01 11:00:00', 'Book', 15.00), ('george@nowhere.com', '2012-04-15 13:05:00', 'Book', 20) ;
对于请求为拥有匹配的电子邮件地址并在指定时间段内完成的订单生成一个报告的程序,这个基于 Web 的应用程序将提供一个 XML 文档。
清单 2 给出了一个示例请求文档。
清单 2. 信息请求文档示例
<?xml version="1.0" encoding="UTF-8" ?> <OrderInfoRequest> <CustEmail>ntl@us.ibm.com</CustEmail> <MinTs> 2012-04-14T:00:00:00 </MinTs> <MaxTs> 2012-04-30T23:59:59 </MaxTs> </OrderInfoRequest>
我的第一个 RPG 程序从文件中检索一个 XML 信息请求,并用它在假脱机文件中生成了一个报告。可以假设我们正在从标准输出或套接字中读取此数据 —— 但为保持示例的简洁,流文件便足以阐述相关概念。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

db2和oracle语法区别:1、SQL语法差异,虽然db2和oracle都使用结构化查询语言,但它们在语法方面存在一些差异;2、db2和oracle拥有不同的数据类型;3、外键约束定义,db2可以定义在创建表时或者使用“ALTER TABLE”语句后添加,oracle需要在创建表时一起定义;4、db2和oracle存储过程和函数的语法也存在一些区别。

IBM突然宣布,启动新一轮裁员!在最新一次7分钟员工会议上,IBM首席通讯官宣了这一消息。此次将主要集中在营销和通讯部门。虽然IBM没有就裁员规模发表正式声明,但就在今年1月,他们就已宣布裁员3400人。该公司首席执行官ArvindKrishna早前就表示,公司将在未来五年内,用人工智能取代8000个岗位工作。这一整个突发操作,直接把员工给干懵了……这8000人是不是早就开始裁员了△图源:一亩三分地据相关网站统计,今年迄今为止约有204家科技公司裁员近5万人。包括谷歌母公司Alphabet、亚马

随着游戏发售日期的临近,《黑神话:悟空》的炒作已在全球范围内感受到,它在 8 月 20 日推出时并没有令人失望,受到了整个游戏社区的热烈欢迎。上线后

IBM近日宣布,在最近为大型机开发人员推出的生成式AI编码功能的基础上,推出了一套新的产品,使人工智能更容易在他们旧的数据中心硬件上运行IBM表示,IBMZ的更新旨在通过跨多个行业和用例实施业务型AI来帮助客户改善业务成果,其中包括了一组新的开发人员工具包,支持最广泛使用的AI框架和Python编程语言、MachineLearningforz/OS的增强功能、以及IBMz/OS大型机操作系统在性能上的改进。IBM表示,这些更新将让客户能够提高保单建议的准确性,提高反洗钱控制的可靠性和及时效性,降

IT之家10月31日消息,IBM公司近日发布新闻稿,为了缓解当前精通COBOL(一种1959年设计开发的编程语言)语言程序员短缺问题,推出了生成式AI编程助手“watsonx”。IBM公司在今年8月推出了名为"IBMZ"的服务,旨在将COBOL转换为Java语言。近日,该服务正式以"watsonx"的名称推出Watsonx的核心功能简化了COBOL代码到Java的转换,旨在实现大型计算机的现代化。IBM表示,该人工智能助手在代码翻译方面准确性极高,能够减少

IBM最近推出了一项新的企业投资工具,即企业人工智能风险基金。该基金的目标是支持那些致力于开发以企业为重点的人工智能产品的初创公司其他科技巨头在IBM此举之前也加大了对人工智能创业生态系统的投资。几周前,大型语言模型开发商AnthropicPBC从亚马逊公司和谷歌公司获得了总额高达60亿美元的融资。最近,惠普企业公司和SAPSE加入了对德国人工智能提供商AlephAlphaGmbH的5亿多美元的投资项目。IBM打算通过企业人工智能风险基金支持一些“从早期阶段到超速增长”的初创企业。据媒体报道,I

大型2.5D奇幻MMORPG游戏《北欧战纪》新服就要在3月20日下午14:00上线了!本次新服名称取自北欧神话传说当中的起源之地,希望各位也能在游戏中开启属于自己的神话!在《北欧战纪》中,游戏当中有四种不同的职业分别是战士、盾卫、召唤师和巡林客。每种职业都有其独特的技能和玩法,让玩家可以根据自己的喜好和游戏风格来选择。游戏中除了紧张刺激的游戏剧情,玩家还可以体验其他不同的玩法,食人魔战场就是其特色之一,玩家通过主城尤尼克的泰斧大使半条命或血锚大使毁灭战士进入该战场。一旦进入,玩家将自动归队为一方

根据知识产权管理公司Anaqua基于公开数据所进行的统计分析,2023年全球半导体专利的数量最多的地区是美国。这已经是连续两年美国占据榜首的情况。该公司利用先进的AcclaimIP专利分析软件,对美国商标和专利局公示的半导体相关专利进行分析。结果显示,2023年的半导体专利数量达到了348,774件,相较于2022年的347,408件略有增长。按照国家和地区划分其中美国公司获得的专利数量为162557件,居各国之首,比2022年增长了18%。数据显示,日本位居第二(40960件),其次是中国(2
