Tương thích của SQL trong CLPPlus

Tổng quan

Công cụ trình xử lý 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 trú đến DB2 có thể chạy các tập lệnh SQL hiện có với DB2

cho Linux, UNIX và Windows với 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 một 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à một công cụ đơn giản và hữu ích cho người sử dụng trong việc

tạo 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 triển và gỡ lỗi 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à một công cụ dòng lệnh thống nhất cho tất 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. Cùng với sự hỗ trợ của nó

cho SQL và các lệnh máy chủ nguyên 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 trú gặp phải và đã báo cáo để giúp chúng tôi

hoàn thiện CLPPlus. Bây giờ CLPPlus là có khả năng xử lý việc các tập lệnh 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 lệnh

 AUTOTRACE

 Tiện ích bộ đệm SQL

 Lưu trữ vào vùng đệm

pdf22 trang | Chuyên mục: Oracle | Chia sẻ: dkS00TYs | Lượt xem: 2175 | Lượt tải: 2download
Tóm tắt nội dung Tương thích của SQL trong CLPPlus, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
F | ON | TRACE[ONLY] } [EXP[LAIN]] [STAT[ISTICS]] 
Khi bật tùy chọn AUTOTRACE thành ON sẽ cho phép hiển thị thông tin giải thích và thống kê 
cho mỗi câu lệnh được thực thi trong phiên đó cùng với kết quả truy vấn cho đến khi 
AUTOTRACE bị vô hiệu hóa. Các tùy chọn EXPLAIN (giải thích) và STATISTICS (thống kê) 
cho phép hiển thị giải thích kế hoạch và các thông tin thống kê một cách tương ứng. Thông tin 
thống kê bao gồm thống kê về mạng, chi phí, thông tin khóa, sắp xếp, nhóm trực đợi vào/ra, số 
hàng đã đọc, số hàng đã sửa đổi và hàng trả về v.v.. tạm kể ra như vậy. Tùy chọn TRACEONLY 
vô hiệu hóa hiển thị các kết quả thực hiện truy vấn. 
Ví dụ dưới đây cho thấy đầu ra khi tùy chọn AUTOTRACE được bật lên. 
Liệt kê 24. Tùy chọn AUTOTRACE 
SQL> SET AUTOTRACE ON 
SQL> SELECT EMPNO, FIRSTNME, LASTNAME, WORKDEPT, PHONENO FROM EMPLOYEE 
 WHERE SALARY=152750 ; 
EMPNO FIRSTNME LASTNAME WORKDEPT PHONENO 
------ ------------ --------------- -------- ------- 
000010 CHRISTINE HAAS A00 3978 
EXPLAIN PLAN 
------------------------- 
 ID TYPE OBJECT_SCHEMA OBJECT_NAME 
------ --------------- -------------------- -------------------- 
PREDICATE_TEXT 
-------------------------------------------------- 
 1 RETURN 
 2 TBSCAN MANSHANB EMPLOYEE 
(Q1.SALARY = +0152750.00) 
STATISTICS 
--------------------------------- 
COMPILATION_TIME = 195000 
ISOLATION_LEVEL = CS 
ROWS_READ = 42 
ROWS_RETURNED = 1 
ROWS_MODIFIED = 0 
TOTAL_SORTS = 0 
IN_MEMORY_SORTS = 0 
LOCK_WAITS = 0 
LOCK_ESCALS = 0 
LOCK_TIMEOUTS = 0 
POOL_READS = 1 
POOL_WRITES = 0 
QUERYOPT = 5 
ESTIMATED_COST = 8 
TOTAL_COST = 7.6209 
NETWORK_TRIPS = 2 
BYTES_SENT = 505 
BYTES_RECEIVED = 1215 
Ví dụ dưới đây cho thấy việc sử dụng tùy chọn AUTOTRACE với kế hoạch EXPLAIN (giải 
thích) được kích hoạt, cùng với kết quả truy vấn. Điều này vô hiệu hóa hiển thị các thông tin 
thống kê. 
Liệt kê 25. Tùy chọn AUTOTRACE với tùy chọn EXPLAIN được bật lên 
SQL> SET AUTOTRACE ON EXPLAIN 
SQL> SELECT EMPNO, FIRSTNME, LASTNAME FROM EMPLOYEE WHERE SALARY=152750 ; 
EMPNO FIRSTNME LASTNAME 
------ ------------ --------------- 
000010 CHRISTINE HAAS 
EXPLAIN PLAN 
------------------------- 
 ID TYPE OBJECT_SCHEMA OBJECT_NAME 
------ --------------- -------------------- -------------------- 
PREDICATE_TEXT 
-------------------------------------------------- 
 1 RETURN 
 2 TBSCAN MANSHANB EMPLOYEE 
(Q1.SALARY = +0152750.00) 
Ví dụ dưới đây trình diễn việc sử dụng AUTOTRACE với tùy chọn TRACEONLY. Với thiết lập 
này, việc hiển thị kết quả truy vấn bị vô hiệu hóa. 
Liệt kê 26. Tùy chọn AUTOTRACE với chế độ TRACEONLY 
SQL> SET AUTOTRACE TRACEONLY 
SQL> SELECT * FROM EMPLOYEE WHERE SALARY=152750 ; 
EXPLAIN PLAN 
------------------------- 
 ID TYPE OBJECT_SCHEMA OBJECT_NAME 
------ --------------- -------------------- -------------------- 
PREDICATE_TEXT 
-------------------------------------------------- 
 1 RETURN 
 2 TBSCAN MANSHANB EMPLOYEE 
(Q1.SALARY = +0152750.00) 
STATISTICS 
--------------------------------- 
COMPILATION_TIME = 4000 
ISOLATION_LEVEL = CS 
ROWS_READ = 42 
ROWS_RETURNED = 1 
ROWS_MODIFIED = 0 
TOTAL_SORTS = 0 
IN_MEMORY_SORTS = 0 
LOCK_WAITS = 0 
LOCK_ESCALS = 0 
LOCK_TIMEOUTS = 0 
POOL_READS = 1 
POOL_WRITES = 0 
QUERYOPT = 5 
ESTIMATED_COST = 8 
TOTAL_COST = 7.6209 
NETWORK_TRIPS = 2 
BYTES_SENT = 462 
BYTES_RECEIVED = 2364 
Về đầu trang 
Tiện ích bộ đệm SQL 
Công cụ trình soạn thảo có sẵn được CLPPlus hỗ trợ này có thể được sử dụng trong việc phát 
triển các khối SQL, PL/SQL lớn. Nó cung cấp các tiện ích bộ đệm khác nhau, có thể rất thuận 
tiện trong việc soạn thảo, ghi lưu và thực hiện các nội dung của tiện ích bộ đệm SQL một cách 
nhanh chóng và hiệu quả. Tiện ích bộ đệm SQL có thể hữu ích trong việc: 
 Sửa đổi các nội dung của tiện ích bộ đệm SQL bằng cách xóa, thêm hoặc thay thế một 
dòng trong bộ đệm 
 Nạp nội dung tập tin vào bộ đệm SQL 
 Soạn thảo nội dung bộ đệm bằng cách sử dụng trình biên tập bên ngoài 
 Thực thi các nội dung của bộ đệm 
 Ghi lưu nội dung của bộ đệm vào tệp tin 
Bất kỳ lệnh SQL, PL/SQL đã thực hiện trước đây trong CLPPlus đều được lưu trữ trong tiện ích 
bộ đệm SQL. Có thể dùng lệnh LIST để liệt kê các nội dung bộ đệm SQL ra giao diện bàn điều 
khiển. Nếu người dùng muốn thấy chỉ một dòng cụ thể trong bộ đệm, thì dung lệnh LIST theo 
sau là số thứ tự của dòng sẽ hiển thị các nội dung dòng này trên giao diện bàn điều khiển như thể 
hiện trong ví dụ dưới đây. Chỉ cần nhập số dòng các nội dung của bộ đệm sẽ được liệt kê trên 
dòng đã cho. 
Liệt kê 27. Lệnh LIST 
SQL> select * from employee 
 2 where firstnm='MICHAEL'; 
ERROR near line 1: 
SQL0206N "FIRSTNM" is not valid in the context where it is used. 
SQL> list 
 1 select * from employee 
 2* where firstnm='MICHAEL' 
SQL> list 2 
 2* where firstnm='MICHAEL' 
SQL> 1 
 1* select * from employee 
Một chuỗi cụ thể trong tiện ích bộ đệm SQL có thể được thay thế bằng cách sử dụng lệnh 
CHANGE. Chúng ta cũng có thể thay thế đoạn văn bản trong bộ đệm tại dòng ở số thứ tự đã cho 
hoặc loại bỏ lần xuất hiện đầu tiên của một chuỗi ký tự trong dòng hiện tại, bằng cách sử dụng 
tiện ích này. 
Ví dụ dưới đây thay thế mọi chuỗi ký tự firstnm bằng chuỗi ký tự firstnme bằng cách sử dụng 
lệnh CHANGE. 
Liệt kê 28. Lệnh CHANGE 
SQL> list 
 1 select * from employee 
 2* where firstnm='MICHAEL' 
SQL> change /firstnm/firstnme/ 
 2* where firstnme='MICHAEL' 
Trong ví dụ dưới đây, văn bản tại dòng 2 được thay thế bằng dòng văn bản mới. Ở đây, 2 là số 
của dòng được thay thế trong bộ đệm, tiếp sau đó là văn bản để thay. 
Liệt kê 29. Thay thế dòng bằng cách sử dụng số của dòng 
SQL> 2 where salary>10000 
 2* where salary>10000 
SQL> list 
 1 select * from employee 
 2* where salary>10000 
Chúng ta có thể nối thêm văn bản vào nội dung của tiện ích bộ đệm SQL hoặc thêm văn bản vào 
một dòng mới trong bộ đệm bằng cách sử dụng tương ứng các lệnh APPEND và INPUT. Tiện 
ích DEL có thể được sử dụng để xóa một dòng cụ thể trong bộ đệm. Ví dụ dưới đây trình diễn 
tiện ích này. 
Liệt kê 30. Các lệnh INPUT, APPEND và DEL 
SQL> input select * from employee 
SQL> list 
 1* select * from employee 
SQL> append where 
SQL> list 
 1* select * from employee where 
SQL> input salary>10000 
SQL> list 
 1 select * from employee where 
 2* salary>10000 
SQL> del 2 
SQL> list 
 1* select * from employee where 
SQL> input firstnme='MICHAEL' 
SQL> list 
 1 select * from employee where 
 2* firstnme='MICHAEL' 
CLPPlus hỗ trợ tải nội dung tập tin vào tiện ích bộ đệm SQL hoặc ghi lưu các nội dung của bộ 
đệm vào tệp tin, việc này là hữu ích khi phát triển các tập lệnh SQL qua nhiều phiên làm việc 
hoặc trên các máy chủ khác nhau. Tiện ích SAVE có thể được sử dụng trong việc ghi lưu các nội 
dung của bộ đệm vào tệp tin, và tiện ích GET có thể được sử dụng để tải nội dung tệp tin vào tiện 
ích bộ đệm SQL. 
Liệt kê 31. Các tiện ích GET và SAVE 
SQL> get c:\buffer.sql 
 1* select * from employee 
SQL> input where salary > 10000 
SQL> list 
 1 select * from employee 
 2* where salary > 10000 
SQL> save c:\buffer1.sql 
DB250000I: The command completed successfully. 
Lệnh dấu gạch xiên ngược (/) thực thi các nội dung có mặt trong tiện ích bộ đệm SQL. Và lệnh 
CLEAR xóa làm sạch các nội dung của tiện ích bộ đệm SQL. 
Liệt kê 32. Tiện ích xóa bộ đệm 
SQL> list 
 1* select firstnme, salary from employee fetch first 2 rows only 
SQL> / 
FIRSTNME SALARY 
--------------- ----------------------- 
MICHAEL 15500 
JOE 11100 
SQL> clear buffer 
DB250000I: The command completed successfully. 
SQL> list 
DB250419W: The SQL buffer is empty. 
Nội dung của tiện ích bộ đệm SQL cũng có thể được biên tập bằng cách sử dụng trình soạn thảo 
bên ngoài với sự giúp đỡ của lệnh EDIT. Lệnh EDIT gọi trình soạn thảo bên ngoài và nạp luôn 
nội dung của tiện ích bộ đệm SQL, người dùng có thể sửa đổi các nội dung này và ghi lưu trở lại 
vào bộ đệm. Người dùng có thể định cấu hình trình soạn thảo bên ngoài để sử dụng theo từng 
yêu cầu. 
Về đầu trang 
Lưu trữ vào vùng đệm 
Các hoạt động xảy ra trong phiên CLPPlus có thể được ghi vào tệp tin bằng cách sử dụng tính 
năng lưu trữ vào vùng đệm. Tính năng này sẽ rất hữu ích trong việc phát triển các tập lệnh SQL 
lấy trong số các lệnh đã thực thi trong phiên CLPPlus. Kết quả là, tất cả các lệnh được thực thi 
và kết quả đầu ra được ghi vào tệp tin, tệp tin này có thể được xử lý để phát triển các tập lệnh. 
Cần chỉ rõ một tệp tin khi cho phép lưu trữ vào vùng đệm, và đầu ra hiển thị được ghi vào trong 
tệp tin này. Thao tác lưu trữ vào vùng đệm cũng có thể được tắt đi tại bất kỳ điểm nào trong 
phiên làm việc, như cho thấy dưới đây. 
Liệt kê 33. Lệnh spool 
SQL> spool c:\spooler.sp 
SQL> select firstnme, salary from employee fetch first 2 rows only; 
FIRSTNME SALARY 
--------------- ----------------------- 
MICHAEL 15500 
JOE 11100 
SQL> spool off 
Về đầu trang 
Kết luận 
Bài viết này đã cung cấp các thông tin giá trị cho người dùng di trú từ Oracle đến DB2 bằng cách 
đưa ra một tổng quan về hỗ trợ khả năng tương thích với SQL được cung cấp trong CLPPlus. 
CLPPlus đóng một vai trò quan trọng trong việc cho phép di trú các tập lệnh của người sử dụng 
đến DB2, và do đó, bài viết này có thể là một tham chiếu tốt để có một bức tranh toàn cảnh về 
các tính năng tương thích SQL được hỗ trợ trong CLPPlus. 
Bài viết này cũng rất hữu ích cho những người hiện đang sử dụng DB2 giúp họ trở nên quen 
thuộc với các phương tiện được CLPPlus cung cấp, các phương tiện này là mới cho các công cụ 
dòng lệnh của DB2 và có thể giúp họ thực hiện nhiệm vụ của mình một cách tốt hơn. 
Để biết thêm về CLPPlus và các lệnh được hỗ trợ, hãy truy cập Trung tâm thông tin của DB2 
cho Linux, UNIX và Windows V9.7. 

File đính kèm:

  • pdfTương thích của SQL trong CLPPlus.pdf
Tài liệu liên quan