Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cấu trúc và loại khối Oracle PLSQL

Ở đây chúng ta sẽ thảo luận về các loại và cấu trúc khối Oracle PLSQL

PL / SQL là gì


PL / SQL là phần mở rộng độc quyền của Oracle cho SQL cho phép tạo ra các khả năng ngôn ngữ thủ tục. Nó cung cấp tất cả các tính năng của kỹ thuật phần mềm hiện đại như đóng gói dữ liệu, xử lý ngoại lệ, ẩn thông tin và hướng đối tượng

Tại sao nên sử dụng PLSQL

1) Tích hợp với các công cụ phát triển như biểu mẫu Oracle, Báo cáo

2) Nhiều câu lệnh có thể được nhóm thành một khối plsql duy nhất và gửi đến máy chủ oracle, dẫn đến lưu lượng mạng ít hơn

3) Phát triển chương trình được mô-đun hóa:Chia lôgic / vấn đề phức tạp thành tập hợp các mô-đun lôgic có thể quản lý, được xác định rõ và thực hiện chúng bằng cách sử dụng các khối

4) Tính di động:Vì nó là nguồn gốc của máy chủ Oracle, nó có thể được di chuyển dễ dàng

5) Nó cung cấp các cấu trúc điều khiển ngôn ngữ thủ tục như điều kiện if, vòng lặp

6) Nó có khả năng xử lý lỗi và nâng cao ngoại lệ dựa trên nó

Cấu trúc khối PLSQL

Một khối plsql được tạo thành ba phần Khai báo, thực thi và ngoại lệ.

DECLARE (Tùy chọn) - phần này chứa các biến, hằng số, con trỏ và các ngoại lệ do người dùng xác định.
BẮT ĐẦU (Bắt buộc)

CÓ THỂ THỰC HIỆN - phần này chứa bất kỳ câu lệnh SQL nào .

NGOẠI LỆ (tùy chọn) - phần này chứa các trình xử lý lỗi.

KẾT THÚC (Bắt buộc);

Vì vậy, phần Khai báo và phần ngoại lệ là Tùy chọn.

Cấu trúc khối mẫu

DECLARE 
 l_number  NUMBER;
 BEGIN
 l_number := 1;
 Dbms_output.put_line(l_number);
 Exception
 When others then
 Dbms_output.put_line(‘Exception occurred’);
 END;
 /

Những điểm quan trọng cần lưu ý

1) Tất cả các biến và hằng được định nghĩa trong phần khai báo

2) Đặt dấu chấm phẩy; ở cuối câu lệnh sql hoặc câu lệnh điều khiển plsql

3) Trong PL / SQL, tất cả các lỗi được xử lý trong khối Ngoại lệ.

4) Bắt đầu và Kết thúc là các câu lệnh bắt buộc cho biết bắt đầu và kết thúc của Khối PL / SQL.

5) Biến và Hằng số phải được khai báo đầu tiên trước khi chúng có thể được sử dụng.

6) Các giá trị có thể được gán trực tiếp cho các biến bằng cách sử dụng toán tử gán “:=”, bằng câu lệnh SELECT… INTO hoặc Khi được sử dụng làm tham số OUT hoặc IN OUT từ một thủ tục.

7) Từ khóa phần Khai báo, Bắt đầu, ngoại lệ không được theo sau bởi dấu chấm phẩy

8) Kết thúc và tất cả các câu lệnh plsql khác yêu cầu dấu chấm phẩy để kết thúc câu lệnh

Các loại khối PLSQL

Ẩn danh :Khối ẩn danh là các khối không có tên. Chúng được khai báo tại điểm trong ứng dụng mà chúng cần được thực thi

DECLARE 
 l_number  NUMBER;
 BEGIN
 l_number := 1;
 Dbms_output.put_line(l_number);
 Exception
 When others then
 Dbms_output.put_line(‘Exception occurred’);
 END;
 /

Chức năng :Đây là những tên khối PLSQL có thể chấp nhận tham số và tính toán một số chức năng và trả về nó. Nó có thể được lưu trữ trong máy chủ hoặc ứng dụng Oracle

Syntax
FUNCTION name [(parameter[, parameter, …])] RETURN datatype IS
 [local declarations]
 BEGIN
 executable statements
 [EXCEPTION exception handlers]
 END [name];
 Example
 Create or replace function FUNC return number
 As
 l_number  NUMBER;
 BEGIN
 Select count(*) into l_number  from emp;
 return(l_number)
 END;
 /

Quy trình :Đây là những tên khối PLSQL có thể chấp nhận tham số và xử lý một số thông tin và có thể hoặc có thể trả về giá trị. Nó có thể được lưu trữ trong máy chủ hoặc ứng dụng Oracle

Syntax
 PROCEDURE name [(parameter[, parameter, …])] IS
 [local declarations]
 BEGIN
 executable statements
 [EXCEPTION exception handlers]
 END [name];
 Example
 Create or replace procedure  remove_emp (emp_id  number)
 As
 BEGIN
 Delete from emp where employee_id=emp_id;
 END;
 /

Sự khác biệt giữa hàm và thủ tục

Chức năng Quy trình
Hàm phải trả về một giá trị Thủ tục không cần
Cú pháp Cú pháp
Tên hàm (danh sách đối số… ..) Kiểu dữ liệu trả về là Tên THỦ TỤC (danh sách tham số… ..)
khai báo biến cục bộ
Bắt đầu khai báo biến cục bộ
câu lệnh thực thi BẮT ĐẦU
Ngoại lệ Các câu lệnh thực thi.
trình xử lý thực thi Ngoại lệ.
End; trình xử lý ngoại lệ
end;
Hàm có thể được sử dụng trong SQL với một số hạn chế Không thể gọi thủ tục trực tiếp từ SQL.

Cú pháp và nguyên tắc khối Oracle PLSQL

1) Các ký tự ký tự và ngày tháng phải được đặt trong dấu ngoặc kép duy nhất

2) Đặt nhiều dòng chú thích giữa / * và * /

3) Hầu hết các hàm sql có thể được sử dụng trong PLSQL. Chúng tôi có sẵn hàm char, date, number trong PLSQL giống như SQL

4) nhóm theo chức năng không có sẵn trong PLSQL. Nó chỉ có thể được sử dụng trong câu lệnh sql trong PLSQL

5) Chúng ta nên sử dụng thụt lề thích hợp để làm cho mã có thể đọc được

6) Bạn nên viết câu lệnh DML ở dạng chữ hoa, Từ khóa PLSQL, Kiểu dữ liệu ở dạng chữ hoa và Đặt số nhận dạng và tham số ở dạng chữ thường để dễ đọc và bảo trì tốt hơn

Các liên kết có liên quan

Tài liệu Oracle PLSQL
25 Câu hỏi phỏng vấn Oracle PlSQL thường gặp nhất
Oracle sql và plsql
cách viết các truy vấn sql


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle Streams Step by Step Replication Ví dụ

  2. Cách cài đặt Oracle Linux Automation Manager (hay còn gọi là “Oracle Ansible Tower”)

  3. Sử dụng setDate trong PreparedStatement

  4. ORA - 00933 nhầm lẫn với tham gia bên trong và như

  5. Tại sao tên bảng / cột / chỉ mục của Oracle bị giới hạn trong 30 ký tự?