FOR LOOP trong Oracle - Oracle nâng cao
Trong bài này chúng ta sẽ tìm hiểu về vòng lặp for trong Oracle, hay còn goi là FOR LOOP. 1. FOR LOOP trong Oracle Cũng như bao ngôn ngữ khác, vòng lặp for dùng để lặp những hành động có cùng tính chất và biết trước được tổng số lần lặp. Cú pháp của vòng ...
Trong bài này chúng ta sẽ tìm hiểu về vòng lặp for trong Oracle, hay còn goi là FOR LOOP.
1. FOR LOOP trong Oracle
Cũng như bao ngôn ngữ khác, vòng lặp for dùng để lặp những hành động có cùng tính chất và biết trước được tổng số lần lặp.
Cú pháp của vòng lặp for trong Oracle như sau:
FOR loop_counter IN [REVERSE] lowest_number..highest_number LOOP {...statements...} END LOOP;
Trong đó:
- loop_counter: Là biến đếm vòng lặp
- REVERSE: Tùy chọn không bắt buộc, nếu bạn chọn thì nó sẽ lặp ngược lại
- lowest_number: Là giá trị bắt dầu của loop_counter
- highest_number: Là giá trị kết thúc của loop_counter
- statements: Là những đoạn code SQL xử lý trong thân vòng lặp
Lưu ý:
- Bạn chỉ dùng vòng lặp for khi biết được tổng số vòng lặp là bao nhiêu
- Nếu bạn chọn lặp ngược REVERSE thì tham số lowest_number phải lớn hơn highest_number
2. Ví dụ FOR LOOP trong Oracle
Sau đây là một vài ví dụ về FOR LOOP.
Chương trình tính tổng từ 1 đến 10
FOR loop_counter IN 1..10 LOOP total := loop_counter + total; END LOOP;
Trong vòng lặp này thì sẽ lặp 10 lần, bởi điểm bắt đầu là 1 và kết thúc là 10.
Lặp ngược từ 10 đến 1
FOR loop_counter IN REVERSE 10..1 LOOP total := loop_counter + total; END LOOP;
Vòng lặp này cũng có kết quả tương đương, tuy nhiên điểm khác biệt là nó lặp từ 10 trở về 1, vì vậy điểm bắt đầu phải lớn hơn điểm kết thúc.
Vòng lặp thường được sử dụng rất nhiều khi bạn viết function, procedure và trigger.