DB2 9.7 數(shù)據(jù)庫(kù)中的SQL兼容性的表現(xiàn)有哪些?
以下的文章主要向大家描述的是DB2 9.7 中的SQL兼容性,各位開(kāi)發(fā)人員注意啦!如果您擁有 Oracle 數(shù)據(jù)庫(kù)技能以及希望在另一種數(shù)據(jù)庫(kù)平臺(tái)上重用 PL/SQL 知識(shí)與代碼嗎?相信以下的文章將會(huì)為你提供相關(guān)的知識(shí)。
IBM DB2 for Linux, UNIX, and Windows (LUW) 已經(jīng)完成了一項(xiàng)重大的改造。由于客戶一直要求提供節(jié)省成本的改進(jìn),***版本 DB2 9.7 在大家熟悉的領(lǐng)域提供了許多新技術(shù),比如自治(自我管理)和深度壓縮(見(jiàn)本期雜志中的 “DB2 9.7:全面改進(jìn)”)。
但是,開(kāi)發(fā)人員最感興趣的是與 SQL 兼容性相關(guān)的功能。這些特性讓客戶更容易采用 DB2 作為數(shù)據(jù)庫(kù)軟件,從而利用它的節(jié)省成本和高性能特性。即使客戶目前最熟悉其他數(shù)據(jù)庫(kù)系統(tǒng),也很容易掌握 DB2。
在本文中,我將通過(guò)示例演示 DB2 9.7 中新的 SQL 兼容特性。首先討論觸發(fā)器和新的數(shù)據(jù)類型,然后談?wù)剬?duì) Oracle SQL 和 PL/SQL 的支持,***討論對(duì)象和并發(fā)改進(jìn)。這樣所有開(kāi)發(fā)人員都應(yīng)該相信 DB2 是 “兼容的”。
首先,連接 Command Line Processor Plus (CLP Plus) 窗口(見(jiàn)圖 1),把 “db2admin” 替換為您選擇的登錄 ID:
- clpplus db2admin@localhost:50000/sample
SQL 兼容性
使用 DB2 9.7 中新的 SQL 兼容性特性的***步是啟用 DB2_COMPATIBILITY_VECTOR 參數(shù)。設(shè)置 db2set DB2_COMPATIBILITY_VECTOR=ORA,即可為后續(xù)的所有數(shù)據(jù)庫(kù)創(chuàng)建操作啟用與 Oracle 相關(guān)的 SQL 兼容性特性。對(duì) DB2_COMPATIBILITY_VECTOR 使用的一些最重要的參數(shù)的解釋見(jiàn)表 1。
要啟用這個(gè)特性,您必須具有管理特權(quán)。在 DB2 命令窗口中輸入以下命令:
- db2set DB2_COMPATIBILITY_VECTOR=ORA
- db2stop
- db2start
要?jiǎng)?chuàng)建一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù),輸入:db2 create database [dbname]。然后,可以輸入以下命令連接數(shù)據(jù)庫(kù):
- db2 connect to [dbname];
下一步是創(chuàng)建使用 Oracle 數(shù)據(jù)類型的表。在 CLP Plus 窗口或 IBM Data Studio 中輸入下面的 CREATE TABLE 語(yǔ)句:
- Create table employee (EMPNO NUMBER(5), ENAME VARCHAR2(50), DEPTNO NUMBER(5))
在 DB2 9.7 中,可以通過(guò) CLP Plus 界面體驗(yàn) SQL 兼容性特性
PL/SQL 特性
現(xiàn)在討論支持創(chuàng)建 PL/SQL 過(guò)程的特性。DB2 9.7 支持:
用戶定義的包
PL/SQL 過(guò)程/函數(shù)/匿名塊
內(nèi)置的包(DBMS_OUT.PUT_LINE、DBMS_PIPE、DBMS_UTL 等)
關(guān)聯(lián) (INDEX BY) 數(shù)組
Varrays
觸發(fā)器
- %ROWTYPE
- %TYPE
- EXCEPTIONS
- Ref-Cursors
注意,只有 DB2 9.7 for LUW 的 Enterprise Server Edition 和 Workgroup Edition 提供 PL/SQL 支持。在 DB2 Express-C、DB2 Express 和 DB2 Personal Edition 中不支持 PL/SQL。
完整內(nèi)容的學(xué)習(xí),請(qǐng)?jiān)L問(wèn):
http://www.ibm.com/developerworks/cn/data
【編輯推薦】