Tương thích của SQL trong CLPPlus
Tổng quan
Công cụ trình x dòng lệnh và hơn nữa, CLPPlus, cung cấp các tính năng cốt yếu cho người
sử dụng di trú từ Oracle đến DB2 và cũng cho người sử dụng DB2 và Informix. Bằng cách sử
dụng CLPPlus, người dùng đang di tđến DB2 có thể chạyc tập lệnh SQL hiện có với DB2
cho Linux, UNIX Windows vi rất ít sửa đổi hoặc không có sửa đổi nào. Người hiện tại đang
dùng DB2 cũng có thể tận dụng lợi thế của mt số các tính năng mới và lợi ích của CLPPlus,
chúng cho phép các nhà quản trị dữ liệu thực thi nhiều tác vụ thông thường một cách nhanh
chóng và hiệu quả. CLPPlus là mt công cụ đơn giản và hữu ích cho người sử dụng trong việc
to ra các báo cáo có định dạng hoặc trong việc quản lý các tập lệnh PL/SQL hoặc SQL một cách
quen thuộc. Ngoài ra, các tiện ích của trình biên tập lệnh tinh vi của nó làm cho nó trở thành
công cụ dễ sử dụng để phát trin và gli các khối PL/SQL.
Là một phần của các cải tiến khả năng tương thích SQL trong DB2 9.7 của IBM cho Linux,
UNIX và Windows, một loạt các tính năng tương thích cho phép người dùng chạy các ứng dụng
Oracle trong môi trường DB2. Một phần của sản phẩm này là tiện ích dòng lệnh tương tác
CLPPlus. CLPPlus là mt công cụ dòng lệnh thống nhất cho tt cả các máy chủ dữ liệu IBM, bao
gồm DB2 cho Linux, UNIX và Windows, DB2 cho z/OS và Informix.ng với sự hỗ trợ của nó
cho SQL và các lnh máy chủ ngun sinh, CLPPlus đã phát triển theo thời gian, thu hẹp khoảng
cách về tương thích SQL mà khách hàng đang di tgặp phải và đã báo cáo đ giúp chúng tôi
hoàn thiện CLPPlus.y giờ CLPPlus là khả năng xử lý việc các tập lnh di trú của SQL với
sự hỗ trợ toàn diện cho các tính năng tương thích SQL, bao gồm:
Phương ngữ PL/SQL
Định dạng báo cáo
Tạo tập lnh
AUTOTRACE
Tiện ích bộ đệm SQL
Lưu trữ vào vùng đệm
Các phần sau đây cung cấp mt cái nhìn tổng quan về các tính năng này với các ví dụ.
Về đầu trang
Khởi chạy CLPPlus
CLPPlus cung cấp mt số tùy chọn mà bạn có thể xác định khi bạn gọi nó từ dòng lnh. Điều này
bao gm cho phép chế độ im lặng, kết nối bằng cách sử dụng tệp tin cấu hình và chạy các tập
lệnh SQL. Các tùy chọn này cung cấp sự linh hoạt để gọi ra CLPPlus đáp ứng nhu cầu của bạn.
Tập lnh SQL có thể được chạy trong quá trình khi động CLPPlus bằng cách sử dụng lệnh @,
rất hữu ích cho việc chạy các thường trình lô ng việc khi CLPPlus khởi chạy.
Khởi chạy CLPPlus với tùy chọn dòng lệnh -s[ilent] sẽ ngăn không cho hiển thị trên bàn điều
khiển các thông điệp nhất định, chẳng hạn như thông tin về phiên bản, thông tin về bản quyn,
dòng nhắc đợi lệnh và thông tin về kết nối. Các tùy chọn này có thể được sử dụng trong các kết
hp. Gọi ra CLPPlus ở chế độ im lặng, để thực thi tệp tin demo.sql bằng cách sử dụng lệnh @ :
clpplus -silent @C:\demo.sql.
Chui kết nối thể được chỉ rõ trong quá trình gọi ra CLPPlus để thiết lập kết nối cơ sở dữ liệu
trong phiên CLPPlus như trong ví dụ dưới đây. Thậm c thể chỉ rõ rằng CLPPlus snhận các
thông tin kết nối từ tệp tin cấu hình bằng cách cung cấp tên dsn_alias trong lệnh gọi nó. dụ
dưới đây cho thấy cách gọi CLPPlus với chuỗi kết nối cơ sở dữ liệu.
Liệt kê 1. Gọi ra CLPPlus với thông tin kết nối
C:\>clpplus -nw manshanb/temp4now@localhost:500000.testdb
CLPPlus: Version 1.4
Copyright >c< 2009, IBM CORPORATION. All rights reserved.
Database Connection Information:
Hostname = localhost
Database server = DB2/NT SQL09074
SQL authorizaiton ID = manshanb
Local database alias = TESTDB
Port = 50000
SQL>
Khởi chạy CLPPlus trong chế độ verbose (-verbose) cho phép in các thông điệp bổ sung trong
phiên CLPPlus, các thông điệp này b ngăn chặn trong chế độ bình thường. Điều này sẽ cung cấp
thêm thông tin bsung cho người sử dụng, đặc biệt hữu ích trong trường hợp li của bất k sự
thực thi lệnh nào trong CLPPlus.
Vic chuyển hướng đầu vào và đầu ra được hỗ trợ trong CLPPlus, ở đây người dùng có th
chuyển hướng mt tệp tin đến phiên CLPPlus để cung cấp các giá tr đầu vào, việc này hữu ích
trong việc chạy các tập lnh SQL mà không cần sự can thiệp thủ công khi tập lnh yêu cầu cung
cấp các giá tr đầu vào trong thời gian chạy thực. Người dùng thậm chí có thể chuyển hướng đầu
ra của CLPPlus đến mt tệp tin bằng cách sử dụng chuyển hướng đầu ra trong CLPPlus. Ví dụ
dưới đây cho thấy việc sử dụng chuyển hướng đầu vào trong CLPPlus. Tệp tin input.txt đang
được chuyển giao cho phiên CLPPlus, tệp này chứa giá trị đầu vào mà tập lnh demo.sql cần.
Liệt kê 2. Chuyển hướng đầu vào trong CLPPlus
C:\>clpplus @c:\demo.sql <c:\input.txt
CLPPlus: Version 1.4
Copyright >c< 2009, IBM CORPORATION. All rights reserved.
Database Connection Information:
Hostname = localhost
Database server = DB2/NT SQL09074
SQL authorization ID = manshanb
Local database alias = SAMPLE
Port = 50000
Enter a value for variable 1:
Original statement: select * from employee where firstnme='&1'
New statement with substitutions: select * from employee where
firstnme='MICHAEL'
FIRSTNME SALARY
-------------------------- ---------------------------
MICHAEL 10000.0
C:\>
Dữ liệu mẫu
Dliệu mẫu được mô tả trong bài viết này là mt phần của cơ sở dữ liệu SAMPLE trong DB2,
đi kèm với sản phẩm.
CLPPlus cũng cung cấp phương tiện để chạy các tập lnh của nời sử dụng mt cách tự động
trên mi lần đăng nhập của CLPPlus. Điều này thể được thực thi theo hai cách: hoặc bằng
cách thiết lập biến môi trường CLPPLUS_USER_STARTUP_SCRIPT nhận giá tr là tên tệp tin chứa
tập lnh cùng với đường dẫn hoặc bằng cách đặt tệp tin chứa tập lnh với tên là .clpplusrc trong
thư mục nhà của hệ điều hành. Điều này là hữu ích khi muốn cho chạy một tập hợp nhiều lnh
lúc khởi động, mỗi khi gọi CLPPlus.
Về đầu trang
Hỗ trợ phương ngữ PL/SQL
CLPPlus hỗ trợ thực thi tất cả các loi tập lnh PL/SQL được hỗ trợ bởi máy chủ DB2 cho LUW.
Các lệnh như tạo ra và hủy gói, thủ tục, hàm, trigger v.v.. đều có thể được thực thi rất dễ dàng
trong CLPPlus. Các khi lệnh PL/SQL như DECLARE, BEGIN, END có thể được thực thi trong
CLPPlus như các khốidanh. Ví dụ sau đây cho thấy việc thực thi của mt khối PL/SQL đơn
giản trong CLPPlus.
Liệt kê 3. Thực thi khối PL/SQL
SQL> set serveroutput on
SQL> begin
2 dbms_output.put_line('plsql demo');
3 end;
4 /
plsql demo
DB250000I: The command completed successfully.
Các khi danhng có thể được thực hiện bằng cách sử dụng lệnh thực thi trong CLPPlus.
Lệnh thực thi được sử dụng chủ yếu để thực thiu lệnh PL/SQL trên mt dòng như trong ví d
dưới đây. Lệnh này giúp ni lỏng việc thực thi câu lệnh PL/SQL trên mt dòng, không cần thiết
phải gói chúng bên trong mt khối BEGIN END. Trong ví dụ dưới đây, biến var1 được gán một
giá tr varchar bằng cách sử dụng lnh exec.
Liệt kê 4. Thực thi PL/SQL trên một dòng
SQL> variable var1 varchar
DB250000I: The command completed successfully.
SQL> exec :var1:='manshanb';
DB250000I: The command completed successfully.
Các thtục của PL/SQL có thể được thực thi trong CLPPlus bằng cách sử dụng lnh CALL.
Lệnh exec cũng có thể được sử dụng để thực thi các thủ tục như trong ví dụ dưới đây.
Liệt kê 5. Liệt kê 5. Thực thi PL/SQL bằng cách sử dụng lệnh call và exec
SQL> call dbms_output.put_line('plsql demo');
plsql demo
DB250000I: The command completed successfully.
SQL> exec dbms_output.put_line('plsql demo');
plsql demo
DB250000I: The command completed successfully.
CLPPlus hỗ trợ in ấn nội dung b đệm tng điệp DBMS_OUTPUT ra bàn điều khiển của
CLPPlus bằng cách sử dụng tiện ích đầu ra của máy chủ. Người sử dụng có thể kích hoạt tin ích
này bằng cách sử dụng lệnh set như trong ví dụ dưới đây. Điều này có thể hữu ích trong việc gỡ
li các khối hoặc các thủ tục PL/SQL bằng cách lấy thông điệp đầu ra của máy chủ được đưa vào
trong các khối PL/SQL bằng cách sử dụng lệnh DBMS_OUTPUT.PUT_LINE().
Liệt kê 6. Đầu ra của máy chủ bên trong khối PL/SQL
SQL> set serveroutput on
SQL> Begin
2 For i In 1..10 Loop
3 Dbms_Output.Put_Line('Count '||i);
4 End Loop;
5 End;
6 /
Count 1
Count 2
Count 3
Count 4
Count 5
Count 6
Count 7
Count 8
Count 9
Count 10
DB250000I: The command completed successfully.
Về đầu trang
Định dạng báo cáo
CLPPlus hỗ trợ mt số tính năng định dạng báo cáo, chẳng hạn như lệnh column, lệnh set, tiêu
đề trang, tiêu đề báo cáo, lnh break và lệnh compute, các tính năng này cung cấp cho người sử
dụng các phương tiện tạo ra và định dạng báo cáo nâng cao. Người dùng có thể sử dụng các tùy
chn này để tùy chỉnh các o cáo theo các nhu cầu nghip vụ. Trong phần này chúng ta sẽ khám
p các tính năng quan trọng được hỗ trợ bởi CLPPlus.
Lệnh column
Lệnh column cung cấp mt số tùy chọn có thể được sử dụng để định cấu hình một cột cụ thể
trong báo cáo. Lệnh column được định nghĩa cho một tên cột cần phải được định cấu hình. Các
tùy chọn ON và OFF có thể được sử dụng để kiểm soát việc bật hay tắt lnh column. Lệnh ?
column sẽ cung cấp các chi tiết về tt cả các tùy chn được hỗ trợ bởi lệnh column.
y chọn format được sử dụng để định dạng các giá trị cột kiểu numeric và varchar. Để định
dạng chiều rộng của mt chuỗi ký tự, hãy viết A kèm mt số nguyên. Các giá tr chuỗi dài quá
chiu rộng cột đã định này được cắt ngắn bớt hay i gọn, tùy theo dùng tùy chn nào,
TRUNCATED hay WRAPPED, xác định rõ kèm lệnh column. Các giá trị số có thể được định
dạng với một chuỗi định dạng như trong ví dụ. Tùy chọn justify được sử dụng để căn thẳng các
giá tr cột theo lề phải, ltrái hay chính giữa của một cột. Ví dụ dưới đây cho thấy việc sử dụng
các tùy chọn cột này vi bảng nhân viên.
Liệt kê 7. Các tùy chọn định dạng cột
SQL>column salary format 99999.99
SQL>column lastname format A6
SQL>firstnme, lastname, salary from employee ;
FIRSTNME LASTNA SALARY
------------ ------ -----------