Vòng lặp PL/SQL

Vong Lap Pl Sql



Vòng lặp là một trong những khối xây dựng chính trong lập trình. Chúng tôi sử dụng các vòng lặp để tạo các khối mã có thể quản lý có thể được thực thi nhiều lần khi một điều kiện nhất định là đúng. Chúng là nền tảng cơ bản khi tự động hóa các tác vụ lặp đi lặp lại mà không cần viết lại một khối mã nhiều lần.

Giống như tất cả các ngôn ngữ lập trình chính, PL/SQL hỗ trợ các vòng lặp cho phép lặp lại một tập hợp các hướng dẫn cho đến khi đáp ứng một điều kiện nhất định.

Trong hướng dẫn này, chúng ta sẽ khám phá việc sử dụng câu lệnh LOOP trong PL/SQL để thực thi lặp đi lặp lại một khối mã.







Vòng lặp Oracle

Ngôn ngữ PL/SQL hỗ trợ các cấu trúc vòng lặp khác nhau như vòng lặp “for” và vòng lặp “while”. Chúng ta có thể biểu diễn cú pháp của một vòng lặp chung trong Oracle như sau:



<< nhãn mác >> VÒNG
loop_statement;
END LOOP vòng lặp_nhãn;

Phần này chứa từ khóa LOOP và phần thân của vòng lặp để thực thi và được kèm theo từ khóa END LOOP.



Khối LOOP chạy các hành động đã xác định và trả lại điều khiển cho mệnh đề vòng lặp trên cùng sau khi hoàn thành. Điều này thường được đặt trong mệnh đề EXIT hoặc EXIT WHEN để kết thúc vòng lặp sau khi một điều kiện cụ thể được đáp ứng. Điều này giúp ngăn chặn các vòng lặp vô hạn.





Cú pháp vòng lặp Oracle:

Sau đây là cú pháp của vòng lặp “for” trong PL/SQL:

BẮT ĐẦU
CHO loop_variable IN [lower_bound..upper_bound] LOOP
-- đoạn mã được thực thi trong vòng lặp
VÒNG KẾT THÚC;
CHẤM DỨT;

Biến loop_variable cho phép bạn xác định một vòng lặp được sử dụng để kiểm soát vòng lặp và các giới hạn trên và dưới. Các giới hạn trên và dưới chỉ định các giá trị phạm vi nơi xảy ra đánh giá vòng lặp.



Vòng lặp While của Oracle

Chúng ta cũng có thể định nghĩa các vòng lặp “while” trong PL/SQL như được minh họa bằng cú pháp sau:

BẮT ĐẦU
Điều kiện WHILE LOOP
-- hành động vòng lặp
VÒNG KẾT THÚC;
CHẤM DỨT;

Trong vòng lặp “while”, hành động của vòng lặp được thực hiện lặp đi lặp lại trong khi điều kiện là đúng.

Con trỏ Oracle cho vòng lặp

Oracle cũng hỗ trợ các vòng lặp “con trỏ cho” cho phép chúng tôi thực thi một bộ hướng dẫn cho mọi hàng trong một tập kết quả nhất định. Cú pháp có thể được diễn đạt như sau:

BẮT ĐẦU
FOR loop_variable IN (CHỌN cột1, cột2, ...
TỪ bảng1, bảng2, ...
điều kiện WHERE) LOOP
-- hành động vòng lặp
VÒNG KẾT THÚC;
CHẤM DỨT;

Các vòng lặp ví dụ trong Oracle

Các ví dụ sau đây trình bày những kiến ​​thức cơ bản về cách làm việc với các vòng lặp con trỏ for, while và for trong Oracle.

Ví dụ về vòng lặp Oracle:

Ví dụ này trình bày cách sử dụng vòng lặp “for” để in các số từ 1 đến 10.

BẮT ĐẦU
CHO i IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
VÒNG KẾT THÚC;
CHẤM DỨT;

Ví dụ về vòng lặp While:

Chúng ta có thể thực hiện một hành động tương tự bằng cách sử dụng vòng lặp while như sau:

BẮT ĐẦU
TUYÊN BỐ
tôi SỐ := 1;
BẮT ĐẦU
WHILE i <= 10 VÒNG
DBMS_OUTPUT.PUT_LINE(i);
tôi := tôi + 1;
VÒNG KẾT THÚC;
CHẤM DỨT;
CHẤM DỨT;

Điều này sẽ thực hiện một hành động tương tự như vòng lặp “for”.

Con trỏ cho vòng lặp Ví dụ:

Phần sau đây cho thấy cách sử dụng vòng lặp “con trỏ cho” để lấy tên đầy đủ của khách hàng:

BẮT ĐẦU
CHO nhân viên IN (CHỌN first_name, last_name
TỪ nhân viên) LOOP
DBMS_OUTPUT.PUT_LINE(employee.first_name || ' ' || employee.last_name);
VÒNG KẾT THÚC;
CHẤM DỨT;

Đầu ra ví dụ:

Phần kết luận

Trong bài đăng này, bạn đã gặp ba loại vòng lặp chính trong ngôn ngữ Oracle PL/SQL. Bạn có thể kiểm tra tài liệu để khám phá thêm.