Trong khi lặp lại Oracle PL/SQL kèm ví dụ

Vòng lặp PL/SQL là gì?

Trong khi lặp lại trong PL/SQL hoạt động tương tự như câu lệnh vòng lặp cơ bản, ngoại trừ điều kiện EXIT nằm ở đầu vòng lặp. Nó hoạt động giống như một vòng lặp kiểm tra mục nhập trong đó khối thực thi sẽ chỉ thực thi nếu điều kiện được thỏa mãn, vì điều kiện thoát được kiểm tra trước khi thực thi.

Nó không yêu cầu từ khóa 'EXIT' một cách rõ ràng để thoát khỏi vòng lặp vì nó ngầm xác nhận điều kiện mỗi lần.

PL/SQL Cú pháp vòng lặp while

WHILE <EXIT condition>
 LOOP
<execution block starts>
.
.
.
<execution_block_ends>
 END LOOP;
  • Trong cú pháp trên, từ khóa 'WHILE' đánh dấu sự bắt đầu của vòng lặp và 'END LOOP' đánh dấu sự kết thúc của vòng lặp.
  • Điều kiện EXIT được đánh giá mỗi lần trước khi phần thực thi bắt đầu thực thi.
  • Khối thực thi chứa tất cả các mã cần được thực thi.
  • Phần thực thi có thể chứa bất kỳ câu lệnh thực thi nào.

Ví dụ về Oracle Vòng lặp PL/SQL

Trong ví dụ này, chúng ta sẽ in số từ 1 đến 5 bằng cách sử dụng câu lệnh vòng lặp WHILE. Để thực hiện, chúng ta sẽ thực thi đoạn mã sau:

Vòng lặp PL/SQL
Ví dụ về vòng lặp PL/SQL
DECLARE
a NUMBER :=1;
BEGIN
dbms_output.put_line('Program started');
WHILE (a <= 5) 
LOOP
dbms_output.put_line(a);
a:=a+1;
END LOOP;
dbms_output.put_line(‘Program completed' ); 	
END:
/

Giải thích mã:

  • Dòng mã 2: Khai báo biến 'a' là kiểu dữ liệu 'SỐ' và khởi tạo nó với giá trị '1'.
  • Dòng mã 4: In câu lệnh “Chương trình đã bắt đầu”.
  • Dòng mã 5: Từ khóa 'WHILE' đánh dấu sự bắt đầu của vòng lặp và nó cũng kiểm tra xem giá trị của 'a' có nhỏ hơn hoặc bằng 5 không
  • Dòng mã 7: In giá trị của 'a'.
  • Dòng mã 8: Tăng giá trị của 'a' lên +1.
  • Dòng mã 9: Từ khóa 'END LOOP' đánh dấu sự kết thúc của khối thực thi.
  • Mã từ dòng 7 và dòng 8 sẽ tiếp tục thực thi cho đến khi 'a' đạt giá trị 6, vì điều kiện sẽ trả về TRUE và điều khiển sẽ EXIT từ vòng lặp.
  • Dòng mã 10: In thông báo “Chương trình đã hoàn thành”

Tổng kết

Vòng lặp Trong khi lặp lại
Tiêu chí THOÁT Thoát khi điều kiện kiểm tra trả về sai
Sử dụng Tốt để sử dụng khi không xác định được số vòng lặp và việc thoát dựa trên một số điều kiện khác.