Oracle PL/SQL FOR LOOP dengan Contoh

Apa itu Untuk Loop?

Pernyataan “FOR LOOP” paling cocok ketika Anda ingin mengeksekusi kode untuk beberapa kali yang diketahui daripada berdasarkan beberapa kondisi lainnya.

Dalam perulangan ini, batas bawah dan batas atas akan ditentukan dan selama variabel perulangan berada di antara rentang ini, perulangan akan dieksekusi.

Variabel perulangan bersifat inkremental sendiri, jadi tidak diperlukan operasi kenaikan eksplisit dalam perulangan ini. Variabel loop tidak perlu dideklarasikan, karena dideklarasikan secara implisit.

FOR <loop_variable> in <lower_limit> .. <higher_limit> 
LOOP
<execution block starts>
.
.
.
<execution_block_ends>
 END LOOP;

Penjelasan Sintaks:

  • Dalam sintaks di atas, kata kunci 'FOR' menandai awal perulangan dan 'END LOOP' menandai akhir perulangan.
  • Variabel loop dievaluasi setiap kali sebelum menjalankan bagian eksekusi.
  • Blok eksekusi berisi semua kode yang perlu dieksekusi. Bagian eksekusi dapat berisi pernyataan eksekusi apa pun.
  • loop_variable dideklarasikan secara implisit selama eksekusi seluruh loop, dan cakupan loop_variable ini hanya akan berada di dalam loop ini.
  • Jika variabel perulangan keluar dari rentangnya, maka kontrol akan keluar dari perulangan.
  • Perulangan dapat dibuat berfungsi dalam urutan terbalik dengan menambahkan kata kunci 'REVERSE' sebelum batas_bawah.

Contoh 1: Dalam contoh ini, kita akan mencetak angka dari 1 hingga 5 menggunakan pernyataan loop FOR. Untuk itu, kita akan menjalankan kode berikut.

Oracle PL/SQL UNTUK LOOP

BEGIN
dbms Qutput.put linef.Prp.gram started.' );
FOR a IN 1 .. 5
LOOP
dbms_output.put_line(a);
END LOOP:
dbms_output.put_iine('Program completed.'); 
END;
/

Penjelasan Kode:

  • Baris kode 2: Mencetak pernyataan “Program dimulai”.
  • Baris kode 3: Kata kunci 'FOR' menandai awal loop dan loop_variable 'a' dideklarasikan. Sekarang akan memiliki nilai mulai dari 1 hingga 5
  • Baris kode 5: Mencetak nilai 'a'.
  • Baris kode 6: Kata kunci 'END LOOP' menandai akhir dari blok eksekusi.
  • Kode dari baris 5 akan terus dieksekusi hingga 'a' mencapai nilai 6, karena kondisi akan gagal, dan kontrol akan KELUAR dari loop.
  • Baris kode 7: Mencetak pernyataan “Program selesai”

Loop Bersarang

Pernyataan loop juga bisa disarangkan. Loop luar dan dalam dapat terdiri dari berbagai jenis. Dalam perulangan bersarang, untuk setiap satu nilai iterasi dari perulangan luar, perulangan dalam akan dieksekusi sepenuhnya.

Loop Bersarang

LOOP -outer
<execution block starts>
LOOP — inner
<execution_part> 
END LOOP; 
<execution_block_ends> 
END LOOP;

Penjelasan Sintaks:

  • Dalam sintaks di atas, loop luar memiliki satu loop lagi di dalamnya.
  • Loop dapat berupa jenis apa pun dan bagian fungsi eksekusinya sama.

Contoh 1: Dalam contoh ini, kita akan mencetak angka dari 1 hingga 3 menggunakan pernyataan loop FOR. Setiap angka akan dicetak sebanyak nilainya. Untuk itu, kita akan menjalankan kode berikut.

Loop Bersarang

Loop Bersarang

DECLARE 
b NUMBER;
BEGIN
dbms output put line(‘Program started' );
FOR a IN 1..3 
LOOP
b:=1;
WHILE (a>=b)
LOOP
dbms output put line(a);
b:=b+1;
END LOOP;‭	
END LOOP;‭	‬
dbms_output.put_line('Program completed' );
END;
/

Penjelasan Kode:

  • Baris kode 2: Mendeklarasikan variabel 'b' sebagai tipe data 'NUMBER'.
  • Baris kode 4: Mencetak pernyataan “Program dimulai”.
  • Baris kode 5: Kata kunci 'FOR' menandai awal loop dan loop_variable 'a' dideklarasikan. Sekarang akan memiliki nilai mulai dari 1 hingga 3
  • Baris kode 7: Menyetel ulang nilai 'b' menjadi '1' setiap kali.
  • Baris kode 8: Batin loop sementara memeriksa kondisi a>=b.
  • Baris kode 10: Mencetak nilai 'a' selama kondisi di atas terpenuhi.
  • Baris kode 14: Mencetak pernyataan “Program selesai”

Ringkasan

Lingkaran UNTUK Lingkaran
Kriteria KELUAR Keluar ketika penghitung mencapai batas
penggunaan Baik digunakan ketika jumlah loop yang akan dieksekusi diketahui.