通过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月,他們就宣布裁員3,400人。該公司執行長ArvindKrishna早前就表示,公司將在未來五年內,以人工智慧取代8,000個職缺工作。這一整個突發操作,直接把員工給乾懵了……這8000人是不是早就開始裁員了△圖源:一畝三分地據相關網站統計,今年迄今為止約有204家科技公司裁員近5萬人。包括Google母公司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%。數據顯示,日本位居第二(40,960件),其次是中國(2
