Lệnh lặp LOOP trong Oracle
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.
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.
Bài viết này được đăng tại [free tuts .net]
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.