Sementara Loop masuk Oracle PL/SQL dengan Contoh
โก Ringkasan Cerdas
Oracle Perulangan WHILE PL/SQL mengulang blok kode selama suatu kondisi tetap benar. Ini adalah perulangan pengecekan masuk, yang menguji kondisi keluar sebelum setiap iterasi, sehingga blok tersebut mungkin tidak dijalankan sama sekali, dan tidak memerlukan kata kunci EXIT secara eksplisit.

Apa itu perulangan While dalam PL/SQL?
The Sedangkan Loop Dalam PL/SQL, cara kerjanya mirip dengan pernyataan perulangan dasar, kecuali bahwa kondisi keluar berada di awal perulangan. Cara kerjanya seperti perulangan pengecekan masuk, di mana blok eksekusi hanya berjalan jika kondisi terpenuhi, karena kondisi keluar diperiksa sebelum eksekusi.
Kode tersebut tidak secara eksplisit memerlukan kata kunci 'EXIT' untuk keluar dari perulangan, karena kondisi tersebut divalidasi secara implisit setiap kali.
Sintaks Perulangan Sementara PL/SQL
WHILE <EXIT condition> LOOP <execution block starts> . . . <execution_block_ends> END LOOP;
- Kata kunci 'WHILE' menandai awal perulangan dan 'END LOOP' menandai akhir perulangan.
- Kondisi keluar dievaluasi setiap kali sebelum bagian eksekusi mulai berjalan.
- Blok eksekusi berisi semua kode yang perlu dijalankan.
- Bagian eksekusi dapat berisi pernyataan apa pun yang dapat dieksekusi.
Contoh Oracle PL/SQL Sementara Loop
Dalam contoh ini, kita mencetak angka dari 1 hingga 5 menggunakan pernyataan perulangan WHILE.

DECLARE a NUMBER := 1; BEGIN dbms_output.put_line('Program started'); WHILE (a <= 5) LOOP dbms_output.put_line(a); a:= a+1; END LOOP; dbms_output.put_line('Program completed'); END; /
Code Penjelasan:
- Code baris 2: Mendeklarasikan variabel 'a' sebagai 'NUMBER' dan menginisialisasinya dengan nilai '1'.
- Code baris 4: Mencetak pernyataan โProgram dimulaiโ.
- Code baris 5: Kata kunci 'WHILE' menandai awal perulangan dan memeriksa apakah nilai 'a' kurang dari atau sama dengan 5.
- Code baris 7: Mencetak nilai 'a'.
- Code baris 8: Meningkatkan nilai 'a' sebesar 1.
- Code baris 9: Kata kunci 'END LOOP' menandai akhir dari blok eksekusi.
- Baris 7 dan 8 terus dieksekusi hingga 'a' mencapai nilai 6, di mana kondisi tersebut mengembalikan FALSE dan kontrol keluar. lingkaran.
- Code baris 10: Mencetak pernyataan โProgram selesaiโ.
Perulangan WHILE vs Perulangan FOR vs Perulangan Dasar
PL/SQL menawarkan tiga jenis perulangan, dan memilih yang tepat akan menjaga kode tetap jelas. Perulangan WHILE cocok untuk pengulangan berdasarkan kondisi, sedangkan dua jenis lainnya cocok untuk jumlah tetap atau penghentian yang dikontrol secara eksplisit.
| Lingkaran | Kriteria keluar | Paling baik digunakan saat |
|---|---|---|
| loop WHILE | Kondisi di bagian atas menjadi salah | Jumlah iterasi tidak diketahui |
| UNTUK lingkaran | Penghitung mencapai ujung jangkauan | Jumlah iterasi sudah diketahui. |
| Perulangan dasar | EXIT eksplisit di dalam blok | Pintu keluar dikendalikan secara manual. |
Karena perulangan WHILE menguji kondisinya di bagian atas, badan perulangan mungkin tidak dijalankan sama sekali jika kondisinya salah sejak awal. Inilah perbedaan utama dari perulangan dasar, yang badan perulangannya selalu dijalankan setidaknya sekali.
Menghindari Perulangan While Tak Terbatas
Perulangan WHILE sepenuhnya bergantung pada variabel pengontrol yang bergerak menuju kondisi keluar. Jika tidak pernah terjadi, perulangan akan berjalan selamanya dan sesi akan macet. Tiga kebiasaan dapat mencegah hal ini:
- Ubah penghitung setiap iterasi. Contoh tersebut menambah nilai 'a' di dalam loop; menghapus baris tersebut akan menyebabkan loop berjalan tanpa henti.
- Uji batasnya. Konfirmasikan bahwa kondisi tersebut benar-benar dapat menjadi salah untuk nilai awal, bukan hanya untuk kasus ideal.
- Tambahkan tanda keluar aman KETIKA. Untuk perulangan berbasis data, EXIT WHEN pada jumlah iterasi maksimum berfungsi sebagai pengaman terhadap nilai yang tidak terduga.
Ketika jumlah pengulangan benar-benar tetap, perulangan FOR menghilangkan risiko sepenuhnya, karena penghitungnya dikelola secara otomatis.
