Khả năng tương thích SQL trong DB2 9.7 pot

5 180 0
Khả năng tương thích SQL trong DB2 9.7 pot

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

Thông tin tài liệu

Khả năng tương thích SQL trong DB2 9.7 Tương thích SQL Bước đầu tiên trong việc sử dụng các tính năng tương thích SQL trong DB2 9.7 là cho phép tham số DB2_COMPATIBILITY_VECTOR. Việc thiết lập db2set DB2_COMPATIBILITY_VECTOR=ORA cho phép các tính năng tương thích SQL liên quan đến Oracle đối với tất cả cơ sở dữ liệu được tạo ra tiếp sau đó. Để giải thích một số trong các tham số quan trọng nhất được DB2_COMPATIBILITY_ VECTOR sử dụng, hãy xem Bảng 1. Để cho phép tính năng này, bạn phải có các quyền quản trị. Hãy nhập các lệnh sau tại cửa sổ lệnh DB2: db2set DB2_COMPATIBILITY_VECTOR=ORA db2stop db2start Để tạo một cơ sở dữ liệu đơn giản, hãy nhập: db2 create database [dbname]. Sau đó, bạn có thể kết nối với cơ sở dữ liệu này bằng cách nhập: db2 connect to [dbname]; Bước tiếp theo là tạo các bảng bằng cách sử dụng các kiểu dữ liệu Oracle. Nhập vào câu lệnh CREATE TABLE sau đây bằng cách sử dụng hoặc cửa sổ CLP Plus vào hoặc IBM Data Studio: Create table employee (EMPNO NUMBER(5), ENAME VARCHAR2(50), DEPTNO NUMBER(5)) Hình 1: Trong DB2 9.7, giao diện CLP Plus cho phép bạn thử các tính năng tương thích SQL. Về đầu trang Các tính năng PL/SQL Bây giờ chúng ta sẽ khám phá những tính năng cho phép bạn tạo ra các thủ tục PL/SQL. DB2 9.7 hỗ trợ như sau:  Các gói do người dùng định nghĩa  Các thủ tục/các hàm/các khối ẩn danh trong PL/SQL  Các gói dựng sẵn (DBMS_OUT.PUT_LINE, DBMS_PIPE, DBMS_UTL, và v.v )  Các mảng kết hợp (INDEX BY)  Varrays  Triggers (Các tri-gơ)  %ROWTYPE  %TYPE  EXCEPTIONS (Các trường hợp ngoại lệ)  Ref-Cursors (Các con trỏ-tham chiếu) Lưu ý rằng sự hỗ trợ PL/SQL chỉ có sẵn trong Enterprise Server Edition và Workgroup Edition (Ấn bản máy chủ doanh nghiệp và ấn bản Nhóm làm việc) của DB2 9.7 cho LUW. PL/SQL không được hỗ trợ trong DB2 Express-C, DB2 Express, hoặc DB2 Personal Edition (Ấn bản cá nhân của DB2). Về đầu trang Các thủ tục PL/SQL trong DB2 DB2 hỗ trợ nhiều ngôn ngữ PL/SQL. Chúng ta hãy xem cách các thủ tục này làm việc với một số mã mẫu. Một khi được biên dịch và được thực hiện, thủ tục PL/SQL sẽ hiển thị một thông báo chào mừng cho người dùng. Để xem kết quả đầu ra trên bàn điều khiển, trước tiên hãy ban hành lệnh SET SERVEROUTPUT ON. CREATE OR REPLACE PROCEDURE message_proc (myname varchar2) IS BEGIN DBMS_OUTPUT.PUT_LINE('Welcome to DB2 9.7 ( )! ' || myname || '. Now supports for ORACLE SQL and PL /SQL as well :-)!'); END message_proc; Để gọi thủ tục PL/SQL này trong DB2, ban hành các lệnh sau đây: EXEC proc_name EXEC message_proc('Anil'); Dưới đây là một ví dụ sử dụng một vòng lặp FOR: BEGIN FOR a IN 10 20 LOOP DBMS_OUTPUT.PUT_LINE('Counter ' || a); END LOOP; END; Vòng lặp này sẽ tạo ra kết quả đầu ra sau đây: Counter 10 Counter 20 Về đầu trang Lệnh cắt ngắn bảng Một số trong các bạn quen nền tảng cơ sở dữ liệu Oracle nhiều khả năng đã sử dụng lệnh TRUNCATE TABLE (cắt ngắn bảng) ở đâu đó trong sự nghiệp của mình. Bây giờ DB2 cũng hỗ trợ lệnh này. Các mã sau đây tạo ra một bảng đơn giản, thêm các hàng vào nó, và sau đó sử dụng lệnh TRUNCATE để loại bỏ tất cả các hàng khỏi bảng này: CREATE TABLE CLIENTS (CLIENTID NUMBER(5) PRIMARY KEY NOT NULL,CLIENTNAME VARCHAR2(50)); Chèn một vài hàng vào: INSERT INTO CLIENTS (CLIENTID, CLIENTNAME) VALUES (1,'IBM'); INSERT INTO CLIENTS VALUES (2,'MSFT'); INSERT INTO CLIENTS VALUES (3,'EDB'); Bảng 1: Các giá trị DB2_COMPATIBILITY_VECTOR Chúng ta hãy nhìn vào các hàng: SELECT * FROM CLIENTS; Bây giờ ban hành lệnh sau để cắt các hàng này: TRUNCATE TABLE CLIENTS; Hãy chứng tỏ rằng chúng đã thực hiện xong: SELECT * FROM CLIENTS; Bạn sẽ không có hàng nào được hiển thị. Về đầu trang Các cải tiến đối tượngtương tranh Tôi muốn kết thúc bằng cách nhắc đến hai cải tiến quan trọng với DB2 9.7 có thể tiết kiệm thời gian cho bạn và tăng hiệu năng: xác nhận hợp lệ sử dụng lần đầu, và một trạng thái khóa mặc định mới. Xác nhận hợp lệ sử dụng lần đầu Bất cứ khi nào các đối tượng cơ sở dữ liệu cơ bản (các bảng, các khung nhìn, các thủ tục, các hàm, và v.v ) bị thay đổi, lần sau khi một đối tượng được lấy ra với các đối tượng phụ thuộc của nó, nó sẽ được tự động xác nhận hợp lệ lại. Điều này chắc chắn sẽ tiết kiệm thời gian cho các nhà phát triển ứng dụng. Việc kiểm tra phụ thuộc tự động được thực hiện bất cứ khi nào một đối tượng bị thay đổi. Đọc dữ liệu đã giao kết hiện tại (mặc định trong DB2) Trong phiên bản trước của DB2, đã không có khả năng xảy ra việc một người dùng cố gắng đọc và một người dùng cố gắng viết lên cùng một hàng trong cùng một lúc. Điều này dựa trên nguyên tắc rằng người đọc chờ kết quả viết sắp xảy ra. Hiện nay DB2 9.7 sử dụng trạng thái khóa-mặc định để cho người đọc sẽ không phải chờ kết quả viết sắp xảy ra. Thay vào đó, họ sẽ đọc phiên bản hiện tại đã giao kết của hàng. Do đó, những người đọc không chặn những người viết nữa và những người viết cũng không chặn những người đọc. Tôi rất ấn tượng bởi những tính năng tương thích SQL mới này. Tôi mới chỉ có thể bàn sơ qua trong bài viết này Vì vậy, tôi khuyến khích bạn thử với DB2 9.7. Bạn sẽ không phải thất vọng! . Khả năng tương thích SQL trong DB2 9. 7 Tương thích SQL Bước đầu tiên trong việc sử dụng các tính năng tương thích SQL trong DB2 9. 7 là cho phép tham số DB2_ COMPATIBILITY_VECTOR NUMBER(5)) Hình 1: Trong DB2 9. 7, giao diện CLP Plus cho phép bạn thử các tính năng tương thích SQL. Về đầu trang Các tính năng PL /SQL Bây giờ chúng ta sẽ khám phá những tính năng cho phép bạn. thiết lập db2set DB2_ COMPATIBILITY_VECTOR=ORA cho phép các tính năng tương thích SQL liên quan đến Oracle đối với tất cả cơ sở dữ liệu được tạo ra tiếp sau đó. Để giải thích một số trong các

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

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan