Pengantar PL / SQL WHILE Loop
Terkadang, kamu tidak tahu terlebih dahulu berapa kali urutan pernyataan perlu dijalankan karena tergantung pada kondisi yang tidak tetap pada waktu kompilasi. Dalam kasus seperti itu, kamu harus menggunakan pernyataan PL / SQL WHILE LOOP.
Berikut ini menggambarkan sintaks PL / SQL WHILE LOOP:
WHILE condition
LOOP
sequence_of_statements;
END LOOP;
Suatu kondisi adalah variabel Boolean atau ekspresi yang mengevaluasi nilai Boolean TRUE, FALSE atau NULL. Kondisi ini diperiksa pada awal setiap iterasi.
- Jika kondisi dievaluasi TRUE, sequence_of_statements dijalankan.
- Jika kondisi tersebut dievaluasi ke FALSE atau NULL, loop berakhir dan kontrol dilewatkan ke pernyataan eksekusi berikutnya setelah kata kunci END LOOP.
Penting untuk dicatat bahwa urutan pernyataan tidak dapat dijalankan sama sekali jika kondisi tersebut dievaluasi ke FALSE atau NULL sebelum memasuki loop.
Sebagai tambahan, di dalam loop kamu harus memperbarui beberapa variabel agar kondisinya menjadi FALSE atau NULL pada beberapa titik untuk mengakhiri loop, jika tidak, kamu akan memiliki loop tak berujung, yang menyebabkan kesalahan stack overflow.
Lingkaran PL / SQL WHILE efektif bila kamu tidak tahu berapa kali loop akan dijalankan. Jika jumlah iterasi telah ditentukan sebelumnya, kamu harus menggunakan pernyataan loop PL / SQL FOR.
Diagram alir berikut menggambarkan pernyataan loop PL / SQL WHILE:
Contoh PL / SQL WHILE LOOP
Contoh ini menghitung faktorial 10 dengan menggunakan pernyataan PL / SQL WHILE LOOP:
SET SERVEROUTPUT ON SIZE 1000000;
DECLARE
n_counter NUMBER := 10;
n_factorial NUMBER := 1;
n_temp NUMBER;
BEGIN
n_temp := n_counter;
WHILE n_counter > 0
LOOP
n_factorial := n_factorial * n_counter;
n_counter := n_counter - 1;
END LOOP;
DBMS_OUTPUT.PUT_LINE('factorial of ' || n_temp ||
' is ' || n_factorial);
END;
/
Bagaimana cara kerjanya:
- Pertama, kita menginisialisasi counter ke 10 dan faktorial ke 1.
- Kedua, pada setiap iterasi, kita mengalikan faktorial dengan counter dan menurunkan konter dengan 1. Loop diakhiri saat counter mencapai nol.
- Ketiga, kami menampilkan hasil faktorial 10.
Dalam tutorial ini, kamu telah belajar bagaimana menggunakan pernyataan PL / SQL WHILE LOOP untuk menjalankan serangkaian pernyataan berulang-ulang berdasarkan kondisi yang dicentang sebelum setiap iterasi loop.
sumber gambar dan artikel asli : http://www.plsqltutorial.com
0 comments:
Post a Comment