Câu lệnh trường hợp Oracle PL/SQL

Cau Lenh Truong Hop Oracle Pl Sql



Luồng điều khiển là một trong những khối xây dựng chính trong lập trình. Nó xác định thứ tự mà các khối mã khác nhau được thực hiện trong một chương trình.

Giống như hầu hết các ngôn ngữ lập trình, ngôn ngữ Oracle PL/SQL cung cấp các câu lệnh luồng điều khiển khác nhau như IF-THEN, CASE, FOR, WHILE, v.v.







Trong bài đăng này, chúng ta sẽ tìm hiểu cách làm việc với câu lệnh CASE trong PL/SQL để giới thiệu luồng điều khiển trong các truy vấn Oracle của chúng ta.



Giới thiệu về Tuyên bố CASE

Câu lệnh CASE cho phép bạn xác định một chuỗi các câu lệnh. Câu lệnh trường hợp sau đó chọn một chuỗi để thực hiện dựa trên điều kiện đã chỉ định.



Hãy nghĩ về nó như một cách hiệu quả hơn để khai báo một tập hợp các khối if-then trong khi vẫn duy trì khả năng đọc.





Chúng ta có thể biểu diễn cú pháp của câu lệnh CASE trong Oracle như sau:

TRƯỜNG HỢP
KHI điều kiện1 THEN kết quả1
KHI điều kiện2 THÌ kết quả2
...
kết quả KHÁC
CHẤM DỨT

Câu lệnh CASE đánh giá từng điều kiện trong mệnh đề WHEN theo cú pháp này.



Nếu câu lệnh tìm thấy một câu lệnh phù hợp, nó sẽ trả về kết quả phù hợp. Tuy nhiên, trong một số trường hợp, câu lệnh tình huống có thể không tìm thấy điều kiện phù hợp. Trong trường hợp như vậy, câu lệnh thực thi kết quả được xác định trong khối ELSE.

GHI CHÚ : Khối ELSE là tùy chọn. Nếu không có sẵn, công cụ cơ sở dữ liệu sử dụng cú pháp sau:

KHÁC:
TĂNG TRƯỜNG HỢP_NOT_FOUND;

Điều này cho phép công cụ cơ sở dữ liệu đưa ra một ngoại lệ và tạm dừng thực thi khi không có điều kiện phù hợp.

Ví dụ 1: Câu lệnh CASE Ví dụ cơ bản

Ví dụ này cho thấy cách sử dụng ví dụ cơ bản của toán tử trường hợp trong Oracle:

tuyên bố
số tuổi;
nhập char(10);
bắt đầu
tuổi := 24;
trường hợp tuổi
khi 17 thì
mục nhập := 'bị từ chối';
khi nào 24 thì
mục nhập := '9,99';
khi nào thì 45
mục :='15,99';
khác
mục nhập := 'không được phép';
trường hợp kết thúc;
DBMS_OUTPUT.PUT_LINE(mục nhập);
chấm dứt;

Hình minh họa được cung cấp sẽ kiểm tra mọi điều kiện phù hợp và trả về trạng thái tương ứng. Ví dụ: vì điều kiện khớp là 24, nên mệnh đề trả về như sau:

9,99

Ví dụ 2: Câu lệnh CASE với Bảng cơ sở dữ liệu

Ví dụ này sử dụng câu lệnh tình huống với một bảng cơ sở dữ liệu.

chọn first_name, last_name, lương,
trường hợp
khi lương  2500 thì 'Cao'
khác 'Không xác định'
kết thúc dưới dạng lương_status
từ NGƯỜI LAO ĐỘNG;

Truy vấn được cung cấp sử dụng câu lệnh tình huống để kiểm tra phạm vi lương từ bảng nhân viên.

Giá trị kết quả được hiển thị như sau:

Phần kết luận

Trong bài đăng này, bạn đã học cách sử dụng câu lệnh tình huống của Oracle để kiểm tra các điều kiện khác nhau và thực hiện một hành động nếu điều đó đúng.