06/04/2021, 14:51

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.

0