Pl/sql là gì

     
*

*

*

*

*

Ngôn ngữ xây dựng PL/SQL (Procedural Language/ Structured Query Language) vào hệ quản trị cơ sở dữ liệu hướng đối tượng người sử dụng Oracle

a. Giới thiệu PL/SQL

PL/SQL là một ngôn ngữ lập trình dùng để truy hỏi nhập vào csdl Oracle từ nhiều môi trường khác nhau. PL/SQL được tích hợp trên hệ thống CSDL cho nên vì vậy nó có thể được thực hiện cấp tốc và hiệu quả. PL/SQL có rất nhiều ưu điểm so với các ngôn ngữ lập trình không giống về mặt làm chủ logic và cung ứng các quy luật hoạt động của các áp dụng CSDL. Đó là 1 ngôn ngữ sệt biệt, hoàn thiện có thể chấp nhận được kết hợp ngôn ngữ thủ tục truyền thống với tróc nã xuất các đối tượng người dùng CSDL thông qua SQL. Mă PL/SQL được sử dụng để tiếp xúc với cơ sở tài liệu được tàng trữ trực tiếp trong cơ sở dữ liệu Oracle, và là ngữ điệu lập trình duy nhất giao tiếp với cơ sở dữ liệu Oracle một cách tự nhiên bên trong môi trường cơ sở dữ liệu. PL/SQL ko thể triển khai xong nếu không tồn tại sự tương tác thuận tiện với cơ sở tài liệu Oracle. Bất kỳ xử lý hay thay đổi dữ liệu nào cũng được kết thúc trong PL/SQL mà lại không đề nghị thêm môi trường xung quanh lập trình như thế nào khác. Ko có giao tiếp ODBC, cũng không bắt buộc nhúng bất kể phép xử lý tài liệu nào.

Bạn đang xem: Pl/sql là gì

b. Các điểm sáng của PL/SQL

- Cấu trúc khối: đơn vị cơ bản của PL/SQL là 1 trong khối. Tất cả các chương trình của PL/SQL được xây cất từ phần đa khối. Mỗi khối là một đơn vị công việc logic vào một chương trình. Cấu tạo của một khối như sau:

DECLARE

/* Phần khai báo – những biến, kiểu, cursor cùng chương trình bé nằm ở đây */

BEGIN

/* Phần thực hiện – những thủ tục và câu lệnh SQL nằm ở đây. Đây là phần

chính với yêu cầu nên có. */

EXCEPTION

/* Phần kiểm soát lỗi */

END;

- trở nên và kiểu: PL/SQL hỗ trợ các biến chuyển và kiểu tương tự như ngữ điệu lập trình khác. PL/SQL cũng được cho phép sử dụng những kiểu dữ liệu người tiêu dùng định nghĩa như phong cách bảng (Table) với kiểu phiên bản ghi (Record)

- cấu tạo vòng lặp với rẽ nhánh: cũng như ngôn ngữ thiết kế bậc cao như Pascal, Visual Basic…PL/SQL có thể chấp nhận được sử dụng các cấu trúc điều khiển đk và cấu tạo lặp

- Cursor: được dùng để làm thao tác với nhiều hàng dữ liệu lấy từ cơ sở dữ liệu (dùng câu lệnh Select). Bằng cách sử dụng Cursor, chương trình có thể duyệt một bí quyết dễ dàng cục bộ các hàng dữ liệu. Để xử trí câu lệnh SQL, Oracle tạo nên một vùng nhớ hotline là vùng ngữ cảnh (Context Area). Vùng ngữ cảnh chứa đầy đủ thông tin quan trọng để ngừng một thừa trình, bao gồm số hàng được xử lý vày câu lệnh, bé trỏ tới câu lệnh. Vào trường thích hợp một Query, vùng ngữ cảnh là 1 trong những tập hợp những hàng được trả về vị Query đó. Cursor là 1 thẻ (Handle) hoặc một con trỏ (Pointer) trỏ cho tới vùng ngữ cảnh. Thông qua Cursor, một chương trình PL/SQL rất có thể điều khiển vùng ngữ cảnh, 4 bước quan trọng để xử lý Cursor:

Khai báo Cursor

Mở Cursor để tiến hành Query

Đưa tác dụng vào thay đổi PL/SQL

Đóng Cursor

c. Cấu tạo của PL/SQL

Có thể nói PL/SQL là ngôn ngữ kết cấu khối (Block-Structure). Đơn vị cơ bạn dạng trong mỗi công tác PL/SQL là khối. Toàn bộ các lịch trình PL/SQL những được đúng theo thành từ hầu như khối. Các khối có thể tuần từ hoặc lồng nhau. Mỗi khối tương quan đến một vấn đề hoặc một sự việc con rất cần được giải quyết. PL/QL hỗ trợ cách tiếp cận xử lý vấn đề theo phong cách “chia nhằm trị”.

gồm một vài kiểu khối bao gồm:

- Khối ko tên (Anonymous Block): thường được xây dựng tự động hóa và được thực hiện duy tuyệt nhất một lần.

- Khối có tên (Named Block): là phần lớn khối ko tên với nhãn được gán đến tên của khối.

- Chương trình con (Subprogram): là những thủ tục (Procedure), gói (Package) cùng hàm (Function) được lưu trong cửa hàng dữ liệu. Mọi khối này thường không thay đổi một khi sẽ được kiến thiết và bọn chúng được tiến hành nhiều lần. Triển khai chương trình con bởi lời call thủ tục, gói hoặc hàm cần thực hiện.

- Trigger: tương tự như lịch trình con, chúng cũng rất được lưu vào cơ sở dữ liệu và được triển khai nhiều lần, đồng thời ít biến đổi sau khi tạo nên ra. Trigger được triển khai mỗi khi có một sự kiện được kích hoạt.

Xem thêm: Cho Trẻ Uống Vitamin A Vào Lúc Nào Thì Tốt Nhất Trong Ngày? &Ndash Men Tiêu Hóa

Trong từng khối của chương trình, PL/SQL đều sở hữu những phần tách biệt nhau: phần khai báo, phần tiến hành và phần điều hành và kiểm soát lỗi. Chỉ gồm phần triển khai là cần phải có còn nhị phần kia có thể có hoặc không.

Phần khai báo là chỗ mà tất cả các biến, cursor và những kiểu cần sử dụng trong khối được khai báo. đông đảo hàm và giấy tờ thủ tục địa phương cũng rất có thể được khai báo sinh hoạt đây. Phần triển khai là phần thiết yếu của khối, là chỗ thực hiện công việc của khối. Phần này bao gồm các câu lệnh SQL và đầy đủ câu lệnh call thủ tục. Lỗi được kiểm soát và điều hành trong phần kiểm soát và điều hành lỗi. Mã lịch trình này chỉ được triển khai khi có lỗi xảy ra. Trong PL/SQL có 2 nhiều loại lỗi chủ yếu là: Compile (lỗi phát sinh khi dịch) cùng Run-time (lỗi gây ra khi chạy). PL/SQL kiểm soát điều hành lỗi trải qua ngoại lệ (Exceptions) và giải pháp xử lý ngoại lệ (Exception Handlers). Exception được thiết kế để xử lý phần đông lỗi tạo nên khi chạy chương trình, còn đối với những lỗi tạo nên khi dịch sẽ được phát hiện bởi PL/SQL và trả về thông báo cho người sử dụng. Khi tất cả lỗi phạt sinh, một ngoại lệ được phát sinh, quyền điều khiển được chuyển sang phần kiểm soát điều hành lỗi. Nhờ việc kiến tạo phần mềm kiểm soát điều hành lỗi một cách tự do nên tính lô ghích của chương trình dễ hiểu hơn, đồng thời nó cũng đảm bảo tất cả phần nhiều lỗi sẽ được kiểm soát. đa số từ khoá DECLARE, BEGIN, EXCEPTION và END phân cách những khối với nhau.

Ví dụ:

// chế tác bảng SinhVien

CREATE OR REPLACE TYPE SinhVien AS OBJECT (

maSV NUMBER,

tenSV VARCHAR2(20),

ngaySinh DATE,

);

CREATE TABLE SinhVien_T OF SinhVien;

// kiến thiết khối PL/SQL

DECLARE

// bắt đầu phần khai báo

maSVs NUMBER(5) := 10;

tenSVs VACHAR2(20);

BEGIN

// bắt đầu phần thực hiện

// tìm tên của sinh viên gồm maSV = 10

SELECT tenSV INTO tenSVs FROM SinhVien_T WHERE maSV =

maSVs;

EXCEPTION

// bắt đầu phần điều hành và kiểm soát lỗi

WHEN NO_DATA_FOUND THEN

DBMS_OUTPUT.PUT('Sinh vien co ma so 10 khong ton tai');

END;

d. Hàm và giấy tờ thủ tục trong PL/SQL

Hàm và giấy tờ thủ tục trong PL/SQL khôn cùng giống hàm với thủ tục trong các ngôn ngữ lập trình cấp cao.

- giấy tờ thủ tục (Procedure)

Cú pháp để chế tạo ra một thủ tục:

CREATE OR REPLACE PROCEDURE Tên_thủ_tục

<(Tham_đối kiểu,

Tham_đối hình dạng )> IS / AS

Thân_thủ_tục

vào đó:

IN (tham trị): giá bán trị lúc này của tham đối được truyền vào trong giấy tờ thủ tục khi giấy tờ thủ tục đó được gọi. Phía bên trong thủ tục, dạng của tham đối được xem là read-only, nghĩa là cấp thiết được cụ đổi. Khi dứt thủ tục, quyền tinh chỉnh và điều khiển được trả về đến môi trường, quý hiếm của tham đối ko đổi.

OUT (tham biến): hầu hết giá trị của tham đối khi bước đầu lời gọi thủ tục đều bị vứt qua. Trong thủ tục, dạng của tham đối được xem như là write-only. Khi hoàn thành thủ tục, văn bản của tham đối trong thủ tục được đưa lại cho môi trường hiện tại.

Xem thêm: Hình Cắt Một Nữa Dùng Để Biểu Diễn Yếu Tố Nào? Hình Cắt Một Nửa Dùng Để Biểu Diễn

IN OUT (vừa là tham thay đổi vừa là tham trị): hình trạng này kết hợp cả hai hình dáng IN cùng OUT. Giá trị của tham đối bây giờ được đưa vào trong giấy tờ thủ tục khi giấy tờ thủ tục được gọi. Bên trong thủ tục, tham đối này rất có thể được đọc và ghi. Khi hoàn thành thủ tục, văn bản của tham đối trong thủ tục được đưa lại cho môi trường thiên nhiên hiện tại.

- Hàm (Function)

Cú pháp để tạo ra hàm tựa như như cú pháp tạo ra thủ tục:

CREATE FUNCTION Tên_hàm

<(Tham_đối kiểu,

Tham_đối phong cách )>

RETURN Kiểu_trả_về IS | AS

Thân_hàm

bên trong thân hàm, câu lệnh Return được dùng để làm trả về một giá trị. Hàm bao gồm tính chất tựa như như thủ tục: