Khối PL / SQL là gì?
Trong PL / SQL, mã không được thực thi ở định dạng dòng đơn, nhưng nó luôn được thực thi bằng cách nhóm mã thành một phần tử duy nhất được gọi là Khối. Trong hướng dẫn này, bạn sẽ tìm hiểu về các khối này.
Các khối chứa cả PL / SQL cũng như lệnh SQL. Tất cả các lệnh này sẽ được thực thi tổng thể thay vì thực hiện một lệnh duy nhất tại một thời điểm.
Trong hướng dẫn này, bạn sẽ học:
- Khối PL / SQL là gì?
- Cấu trúc khối
- Cú pháp khối PL / SQL
- Các loại khối PL / SQL
Cấu trúc khối
Các khối PL / SQL có cấu trúc được xác định trước, trong đó mã sẽ được nhóm lại. Dưới đây là các phần khác nhau của các khối PL / SQL.
- Phần khai báo
- Phần thi hành
- Phần xử lý ngoại lệ
Hình ảnh dưới đây minh họa khối PL / SQL khác nhau và thứ tự phần của chúng.
Phần khai báo
Đây là phần đầu tiên của các khối PL / SQL. Phần này là một phần không bắt buộc. Đây là phần sẽ khai báo phần khai báo biến, con trỏ, ngoại lệ, chương trình con, hướng dẫn pragma và các tập hợp cần thiết trong khối. Dưới đây là một số đặc điểm khác của phần này.
- Phần cụ thể này là tùy chọn và có thể được bỏ qua nếu không cần khai báo.
- Đây phải là phần đầu tiên trong khối PL / SQL, nếu có.
- Phần này bắt đầu với từ khóa 'DECLARE' cho trình kích hoạt và chặn ẩn danh. Đối với các chương trình con khác, từ khóa này sẽ không hiện diện. Thay vào đó, phần sau định nghĩa tên chương trình con đánh dấu phần khai báo.
- Phần này luôn phải được theo sau bởi phần thực thi.
Phần thi hành
Phần thực thi là phần chính và bắt buộc thực thi mã được viết bên trong nó. Vì PL / SQL mong đợi các câu lệnh thực thi từ khối này, nên khối này không thể là một khối trống, tức là nó phải có ít nhất một dòng mã thực thi hợp lệ trong đó. Dưới đây là một số đặc điểm khác của phần này.
- Điều này có thể chứa cả mã PL / SQL và mã SQL.
- Điều này có thể chứa một hoặc nhiều khối bên trong nó như một khối lồng nhau.
- Phần này bắt đầu với từ khóa 'BEGIN'.
- Phần này phải được theo sau bởi 'KẾT THÚC' hoặc phần Xử lý Ngoại lệ (nếu có)
Phần Xử lý Ngoại lệ:
Ngoại lệ là không thể tránh khỏi trong chương trình xảy ra tại thời điểm chạy và để xử lý điều này Oracle đã cung cấp phần xử lý ngoại lệ trong các khối. Phần này cũng có thể chứa các câu lệnh PL / SQL. Đây là một phần tùy chọn của các khối PL / SQL.
- Đây là phần xử lý ngoại lệ được nêu ra trong khối thực thi.
- Phần này là phần cuối cùng của khối PL / SQL.
- Kiểm soát từ phần này không bao giờ có thể trở lại khối thực thi.
- Phần này bắt đầu với từ khóa 'NGOẠI LỆ'.
- Phần này luôn phải được theo sau bởi từ khóa 'END'.
Từ khoá 'END' đánh dấu sự kết thúc của khối PL / SQL.
Cú pháp khối PL / SQL
Dưới đây là cú pháp của cấu trúc khối PL / SQL.
DECLARE --optionalBEGIN --mandatory EXCEPTION --optional END; --mandatory/
Lưu ý: Một khối phải luôn được theo sau bởi '/' sẽ gửi thông tin đến trình biên dịch về phần cuối của khối.
Các loại khối PL / SQL
Các khối PL / SQL chủ yếu có hai loại.
- Khối ẩn danh
- Các khối được đặt tên
Các khối ẩn danh:
Các khối ẩn danh là các khối PL / SQL không có bất kỳ tên nào được gán cho chúng. Chúng cần được tạo và sử dụng trong cùng một phiên vì chúng sẽ không được lưu trữ trong máy chủ dưới dạng các đối tượng cơ sở dữ liệu.
Vì chúng không cần lưu trữ trong cơ sở dữ liệu, chúng không cần các bước biên dịch. Chúng được viết và thực thi trực tiếp, quá trình biên dịch và thực thi diễn ra trong một quy trình duy nhất.
Dưới đây là một số đặc điểm khác của khối Ẩn danh.
- Các khối này không có bất kỳ tên tham chiếu nào được chỉ định cho chúng.
- Các khối này bắt đầu bằng từ khóa 'DECLARE' hoặc 'BEGIN'.
- Vì các khối này không có bất kỳ tên tham chiếu nào nên chúng không thể được lưu trữ cho mục đích sau này. Chúng sẽ được tạo và thực thi trong cùng một phiên.
- Họ có thể gọi các khối được đặt tên khác, nhưng không thể gọi đến khối ẩn danh vì nó không có bất kỳ tham chiếu nào.
- Nó có thể có khối lồng nhau trong đó có thể được đặt tên hoặc ẩn danh. Nó cũng có thể được lồng vào bất kỳ khối nào.
- Các khối này có thể có tất cả ba phần của khối, trong đó phần thực thi là bắt buộc, hai phần còn lại là tùy chọn.
Các khối được đặt tên:
Các khối được đặt tên có một tên cụ thể và duy nhất cho chúng. Chúng được lưu trữ dưới dạng các đối tượng cơ sở dữ liệu trong máy chủ. Vì chúng có sẵn dưới dạng các đối tượng cơ sở dữ liệu, chúng có thể được tham chiếu hoặc sử dụng miễn là nó hiện diện trên máy chủ. Quá trình biên dịch cho các khối được đặt tên diễn ra riêng biệt trong khi tạo chúng như một đối tượng cơ sở dữ liệu.
Dưới đây là một số đặc điểm khác của các khối được đặt tên.
- Các khối này có thể được gọi từ các khối khác.
- Cấu trúc khối giống như một khối ẩn danh, ngoại trừ nó sẽ không bao giờ bắt đầu bằng từ khóa 'DECLARE'. Thay vào đó, nó sẽ bắt đầu bằng từ khóa 'CREATE' để hướng dẫn trình biên dịch tạo nó như một đối tượng cơ sở dữ liệu.
- Các khối này có thể được lồng trong các khối khác. Nó cũng có thể chứa các khối lồng nhau.
- Các khối được đặt tên về cơ bản có hai loại:
- Thủ tục
- Chức năng
Tóm lược
Sau hướng dẫn này, bạn nên biết về các khối PL / SQL và các loại của nó, các phần khác nhau của các khối và cách sử dụng của chúng. Mô tả chi tiết về các khối PL / SQL được đặt tên sẽ được đề cập trong hướng dẫn sau.