06/04/2021, 14:51

Lệnh lặp LOOP trong Oracle - Oracle nâng cao

Trong bài này chúng ta sẽ nói về một lệnh lặp cũng khá hay, nó giống như vòng lặp while hoặc do while trong các ngôn ngữ lập trình khác, đó là lệnh LOOP. 1. Lệnh lặp LOOP trong Oracle Nếu lệnh FOR LOOP dùng cho trường hợp biết trước tổng số lần lặp thì lệnh LOOP sẽ dùng cho trường hợp bạn khôn ...

Trong bài này chúng ta sẽ nói về một lệnh lặp cũng khá hay, nó giống như vòng lặp while hoặc do while trong các ngôn ngữ lập trình khác, đó là lệnh LOOP.

1. Lệnh lặp LOOP trong Oracle

Nếu lệnh FOR LOOP dùng cho trường hợp biết trước tổng số lần lặp thì lệnh LOOP sẽ dùng cho trường hợp bạn khôn chắc chắn tổng số lần lặp là bao nhiêu, tuy nhiên nó vẫn phải có điều kiện dừng, nếu không sẽ bị lặp vô hạn.

Cú pháp
LOOP
   {...statements...}
   EXIT WHEN conditions
END LOOP;

Trong đó:

  • statements là những đoạn code sẽ được chạy trong quá trình lặp.
  • conditions là điều kiện dừng vòng lặp, nếu trả về TRUE thì vòng lặp kết thúc

Khác với các vòng lặp khác, với LOOP thì sẽ lặp ít nhất một lần bởi nó lặp rồi mới kiểm tra điều kiện dừng. Và thuật toán của bạn phải chắc chắn là có điều kiện dừng nhé, nếu không thì bị lặp vô hạn và hệ thống dữ liệu sẽ bị chết.

2. Ví dụ LOOP trong Oracle

Sau đây là ví dụ về sử dụng LOOP trong Oracle, ví dụ này chỉ để tham khảo vì chỉ là trích đoạn ngắn, không thể chạy riêng được.

LOOP
   monthly_value := daily_value * 31;
   EXIT WHEN monthly_value > 4000;
END LOOP;

Chương trình này sẽ lặp cho tới khi giá trị của monthly_value > 4000.

3. Lời kết

Trên là cú pháp và ví dụ về vòng lặp LOOP trong Oracle, lệnh này cũng sử dụng rất nhiều.

0