1. Trang chủ
  2. » Công Nghệ Thông Tin

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

22 181 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 180,63 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.. Bây giờ

Trang 1

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:

Khởi chạy CLPPlus

CLPPlus cung cấp một số tùy chọn mà bạn có thể xác định khi bạn gọi nó từ dòng lệnh Điều này bao gồm 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 lệnh SQL có thể được chạy trong quá trình khởi độ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ô công việc khi CLPPlus khởi chạy

Trang 2

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 quyền, 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 hợp 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

Chuỗi kết nối có 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 chí có thể chỉ rõ rằng CLPPlus sẽ nhậ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ó Ví 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:

Việc 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 một tệp tin đến phiên CLPPlus để cung cấp các giá trị đầu vào, việc này là hữu ích trong việc chạy các tập lệnh SQL mà không cần sự can thiệp thủ công khi tập lệnh 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 một 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 lệnh 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

Trang 3

Database Connection Information:

Enter a value for variable 1:

Original statement: select * from employee where firstnme='&1'

New statement with substitutions: select * from employee where

Về đầu trang

Hỗ trợ phương ngữ PL/SQL

CLPPlus hỗ trợ thực thi tất cả các loại tập lệnh 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 khối lệnh PL/SQL như DECLARE, BEGIN, END có thể được thực thi trong CLPPlus như các khối vô danh Ví dụ sau đây cho thấy việc thực thi của một khối PL/SQL đơn giản trong CLPPlus

Liệt kê 3 Thực thi khối PL/SQL

Trang 4

DB250000I: The command completed successfully

Các khối vô danh cũng 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 thi câu lệnh PL/SQL trên một dòng như trong ví dụ dưới đây Lệnh này giúp nới lỏng việc thực thi câu lệnh PL/SQL trên một dòng, không cần thiết phải gói chúng bên trong một 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 lệnh 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 thủ tục của PL/SQL có thể được thực thi trong CLPPlus bằng cách sử dụng lệnh 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 thông đ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 tiện í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ỡ lỗi 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

Trang 5

CLPPlus hỗ trợ một 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, lệnh 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 chọn này để tùy chỉnh các báo cáo theo các nhu cầu nghiệp vụ Trong phần này chúng ta sẽ khám phá các tính năng quan trọng được hỗ trợ bởi CLPPlus

Lệnh column

Lệnh column cung cấp một 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 lệnh column Lệnh ? column sẽ cung cấp các chi tiết về tất cả các tùy chọn được hỗ trợ bởi lệnh column

Tù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 một chuỗi ký tự, hãy viết A kèm một số nguyên Các giá trị chuỗi dài quá chiều rộng cột đã định này được cắt ngắn bớt hay gói gọn, tùy theo dùng tùy chọn 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, lề trá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 với 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

- - -

Trang 6

Ví dụ dưới đây mô tả cách sử dụng của tùy chọn HEADING trong việc thay đổi tiêu đề của một cột khi hiển thị bảng kết quả Trong ví dụ này, tùy chọn FORMAT được sử dụng để định dạng một cột varchar và một cột thập phân, tương ứng là ENAME và SAL

Liệt kê 8 Column formatting options

SQL> COLUMN ENAME HEADING EMP_NAME FORMAT A7 WRAP

SQL> COLUMN SAL FORMAT $9999.99

SQL> select ename, deptno, sal from emptable;

EMP_NAM DEPTNO SAL

Trang 7

MANGESH 30 $1500.00

SHA

Các biến OLD_VALUE và NEW_VALUE được sử dụng để giữ các giá trị cũ và mới của cột tại bất kỳ mốc thời gian nào trong khi tạo ra báo cáo Những giá trị này chủ yếu được sử dụng trong các tiêu đề của trang Tùy chọn LIKE cho phép sao chép các định dạng và hiển thị các thuộc tính giữa hai cột

Tiêu đề trang và tiêu đề báo cáo

CLPPlus hỗ trợ việc in tiêu đề trang và báo cáo, các tiêu đề rất hữu ích trong việc tạo ra báo cáo ttitle và BTITLE được sử dụng để cho phép in các tiêu đề đỉnh trang và đáy trang một cách tương ứng Tương tự như vậy, REPHEADER và REPFOOTER được sử dụng để cho phép in đoạn văn bản ở đầu trang và chân trang trong các báo cáo Văn bản tiêu đề có thể được căn trái, căn phải và căn chính giữa trang theo nhu cầu của người sử dụng Tiêu đề trang cũng có thể được định cấu hình để hiển thị số trang trong các báo cáo bằng cách sử dụng tùy chọn PGNO Cột new_value và giá trị biến old_value có thể được hiển thị như là một phần của văn bản tiêu đề TTITLE và btitle một cách tương ứng Giá trị SKIP n được sử dụng để nhảy qua n dòng tiếp theo sau dòng hiển thị tiêu đề Ví dụ dưới đây cho thấy việc sử dụng tiêu đề trang

Liệt kê 9 Tiêu đề trang

SQL> ttitle right 'Employee Data'

SQL> btitle center 'IBM Corporation'

SQL> select empno, firstnme, lastname, edlevel, salary, bonus from emp ; SQL> set linesize 70

Trang 8

Lệnh BREAK có thể được sử dụng để chia báo cáo thành tập hợp các bản ghi dựa trên giá trị của cột cụ thể Lệnh Compute có thể được sử dụng để thực thi một số tính toán trên tập hợp các bản ghi đó Ví dụ sau đây cho thấy việc sử dụng các lệnh này trong CLPPlus

Liệt kê 10 Các lệnh BREAK và COMPUTE

SQL> BREAK ON EDLEVEL SKIP 2

SQL> COMPUTE MAX LABEL MAX_SAL of SALARY on EDLEVEL

SQL> SELECT EDLEVEL, EMPNO, FIRSTNME, SALARY FROM EMPLOYEE ORDER BY EDLEVEL; EDLEVEL EMPNO FIRSTNME SALARY

Trang 9

Để biết thêm thông tin về các tính năng định dạng báo cáo của CLPPlus, hãy xem bài viết "Để biết thêm thông tin về các tính năng định dạng báo cáo của CLPPlus, hãy xem bài viết."

Về đầu trang

Hỗ trợ tạo tập lệnh

Các tính năng như các biến kết buộc, các biến thay thế, WHENEVER SQLERROR,

WHENEVER OSERROR v.v cùng nhau tạo thành sự hỗ trợ tạo tập lệnh trong CLPPlus Chúng

ta có thể sử dụng các tính năng này trong việc phát triển các tập lệnh SQL, và do đó sử dụng rất

dễ dàng các biến trên máy khách và máy chủ để điều khiển luồng chảy thực thi tập lệnh dựa trên việc xác định rõ hành động phải làm khi xuất hiện các lỗi SQL và lỗi hệ điều hành Các biến môi trường cũng có thể được truy cập trong các tập lệnh của CLPPlus theo cách tương tự, qua nhiều

hệ điều hành Trong phần này chúng ta sẽ bàn về một số tính năng trong các tính năng này được CLPPlus hỗ trợ

Biến kết buộc

Sự hỗ trợ các biến kết buộc là một tính năng độc đáo trong CLPPlus Biến được khai báo trên máy khách CLPPlus và có thể được sử dụng như là biến của máy chủ trong các khối SQL và PL/SQL Lệnh exec có thể được sử dụng để khởi tạo một giá trị cho biến Nó cũng có thể được khởi tạo giá trị bằng cách gói trong khối Begin-End CLPPlus hỗ trợ các biến với nhiều kiểu dữ liệu khác nhau, bao gồm số nguyên, số thập phân, varchar, varchar2, kiểu số, kiểu Boolean, hàng, mảng của các hàng, con trỏ v.v Khả năng của nó được sử dụng liền mạch giữa máy khách

và máy chủ có nghĩa là bạn có thể sử dụng cùng một biến qua nhiều lần thực thi Lệnh PRINT có thể được sử dụng để hiển thị các giá trị của biến trong CLPPlus

Liệt kê 11 Các biến kết buộc

SQL> variable var1 varchar2

DB250000I: The command completed successfully

SQL> variable var2 number

DB250000I: The command completed successfully

Trang 10

Các biến rất có hiệu quả trong các lời gọi thủ tục, ở đây bạn có thể nắm bắt được giá trị của tham

số OUT đưa vào một biến và chúng ta có thể chuyển giao biến làm một giá trị của tham số INPUT cho một lời gọi thủ tục, như trong ví dụ dưới đây Tham số INOUT trong lời gọi thủ tục

có thể được xử lý bằng cách sử dụng chỉ một biến, biến này sẽ hành xử như cả hai tham số IN và OUT

Liệt kê 12 Các biến kết buộc trong lời gọi thủ tục

Trang 11

Liệt kê 13 Trình diễn biến thay thế

SQL> define name='MICHAEL'

SQL> select firstnme, salary from employee where firstnme='&name';

Original statement:select firstnme, salary from employee where

Liệt kê 14 Trình diễn biến thay thế

SQL> select firstnme, salary from employee where salary > &sal;

Enter a value for variable sal: 15000

Original statement:select firstnme, salary from employee where salary > &sal New statement with substitutions:select firstnme, salary from employee where salary > 15000

FIRSTNME SALARY

- -

MANSHANB 15500

JOE 25000

Trang 12

Người dùng cũng có thể chấp nhận giá trị cho biến trong thời gian chạy thi hành bằng cách sử dụng lệnh ACCEPT như trong ví dụ dưới đây Điều này rất hữu ích trong việc nhắc và đợi nhập giá trị cho biến cần đầu vào từ người sử dụng trong quá trình chạy thực thi động một tập lệnh

Liệt kê 15 Lệnh ACCEPT

SQL> accept USER_ID

Enter a value for variable USER_ID: manshanb

SQL> define

DEFINE USER_ID = manshanb

CLPPlus cũng hỗ trợ chuyển các biến môi trường hoặc biến Shell làm đối số đến tập lệnh trong khi gọi CLPPlus, sau đó các biến này được chuyển đổi thành biến thay thế được đặt tên theo vị trí của chúng và có thể được truy cập bằng cách sử dụng dấu &, tiếp theo là vị trí của chúng Tương tự như vậy, thậm chí có thể chuyển các giá trị như là đối số cho tập lệnh Ví dụ dưới đây cho thấy tính năng này

Liệt kê 16 Biến Shell như là biến thay thế

C:\>Set DEPT=E32

C:\>clpplus -s @c:\demo.sql %DEPT% 10000

Original statement:select firstnme, salary from employee where edlevel='&1' and

salary > &2

New statement with substitutions:select firstnme, salary from employee where edlevel='E32'

and salary > 10000

FIRSTNME SALARY

- -

MICHAEL 15500

JOE 11100

manshanb 20000

Tập lệnh demo.sql chứa các câu lệnh SQL sau đây:

select firstnme, salary from employee where edlevel='&1' and salary > &2 ;

Biến môi trường DEPT và giá trị 10000 đã được chuyển như là đối số đến tập lệnh demo.sql, tập lệnh này dùng các đối số ấy dưới dạng biến thay thế

Xử lý lỗi

Trang 13

Lỗi xảy ra trong quá trình thực thi các tập lệnh trong CLPPlus có thể được bẫy và một hành động

cụ thể có thể được thực hiện bằng cách sử dụng các lệnh được hỗ trợ WHENEVER SQLERROR

và WHENEVER OSERROR Khi sử dụng các lệnh này, chúng ta có thể kiểm soát hành vi của CLPPlus bằng cách xác định rõ các hành động được thực hiện như EXIT hoặc CONTINUE bất

cứ khi nào lỗi xảy ra Chúng ta cũng có thể chọn hành động giao kết (commit) hoặc cuộn ngược lại (roll back) các giao dịch chưa được giao kết khi có lỗi SQL hoặc lỗi hệ điều hành bằng cách

sử dụng tùy chọn COMMIT hoặc ROLLBACK Trong trường hợp lệnh EXIT, chúng ta có thể trả về một mã trả về phụ thuộc vào hệ điều hành dựa trên kịch bản lỗi

Ví dụ sau đây cho thấy hành vi của lệnh WHENEVER SQLERROR CONTINUE Tại đây khi có lỗi, dấu nhắc CLPPlus được trả về và tiếp tục chờ đợi người dùng nhập đầu vào

Liệt kê 17 Lệnh WHENEVER SQLERROR

SQL> whenever sqlerror continue

SQL> select * from nonexistingtable;

SQL0204N "SCHEMA.NONEXISTINGTABLE" is an undefined name

SQL> whenever sqlerror continue commit

SQL> whenever sqlerror continue rollback

SQL> whenever sqlerror continue none

Ví dụ dưới đây trình bày cách sử dụng tùy chọn EXIT khi có lỗi SQL để thoát khỏi ứng dụng CLPPlus

Liệt kê 19 Hành động WHENEVER SQLERROR exit

SQL> whenever sqlerror exit

SQL> select * from nonexistingtable;

SQL0204N "SCHEMA.NONEXISTINGTABLE" is an undefined name

C:\>

Ngày đăng: 01/04/2014, 03:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm