1. Kondisi dalam PL/SQL :
Adalah struktur yang terdiri dari perintah-perintah IF dan CASE
Terdapat tiga bentuk perintah-perintah IF: IF-THEN, IF-THEN-ELSE, dan IF-THEN-ELSIF.
Perintah IF-THEN
Bentuk umum :
IF condition THEN
sequence_of_statements
END IF;
Rangkaian perintah-perintah dieksekusi hanya jika kondisi adalah
true. Jika kondisi bernilai false atau null, perintah IF tidak melakukan
apa-apa. Dalam salah satu kasus, kontrol berlalu kepada perintah
selanjutnya.
Perintah IF-THEN-ELSE
Bentuk umum :
IF condition THEN
sequence_of_statements1
ELSE
sequence_of_statements2
END IF;
Rangkaian perintah-perintah dalam klausa ELSE dieksekusi hanya jika
kondisi bernilai false atau null. Jadi, klausa ELSE memastikan bahwa
rangkaian perintah-perintah tersebut dieksekusi.
Perintah IF-THEN-ELSIF
Bentuk umum :
IF condition1 THEN
sequence_of_statements1
ELSIF condition2 THEN
sequence_of_statements2
ELSE
sequence_of_statements3
END IF;
Jika kondisi pertama bernilai false atau null, klausa ELSIF akan
menguji kondisi lainnya. Perintah IF dapat memiliki sejumlah klausa
ELSIF; klausa final ELSE bersifat opsional (bisa digunakan atau tidak).
Kondisi-kondisi dievaluasi satu demi satu dari atas ke bawah. Jika suatu
kondisi bernilai true, rangkaian perintah-perintah yang ada di dalamnya
dieksekusi dan kontrol akan menuju ke perintah selanjutnya. Jika
seluruh kondisi bernilai false atau null, maka rangkaian
perintah-perintah di dalam klausa ELSE yang akan dieksekusi.
Perintah CASE
Seperti halnya perintah IF, perintah CASE menyeleksi satu rangkaian
perintah-perintah untuk dieksekusi. Namun, untuk menyeleksi rangkain
perintah-perintah tersebut, perintah CASE menggunakan penyeleksi,
bukannya menggunakan banyak ekspresi-ekspresi Boolean.
Bentuk umum :
[<>]
CASE selector
WHEN expression1 THEN sequence_of_statements1;
WHEN expression2 THEN sequence_of_statements2;
…
WHEN expressionN THEN sequence_of_statementsN;
[ELSE sequence_of_statementsN+1;]
END CASE [label_name];
2. Perulangan / loop ialah :
Sekumpulan perintah untuk melakukan perulangan dari suatu blok
statement yang terdapat di dalam blok statement loop. Bentuk paling
sederhana dari perintah LOOP adalah loop dasar (tak berhingga), yang
mengapit rangkaian perintah-perintah diantara kata-kata kunci LOOP dan
END LOOP, seperti berikut ini:
Bentuk umum :
LOOP
sequence_of_statements
END LOOP;
Dengan setiap perulangan dari setiap putaran, rangkaian
perintah-perintah dieksekusi, lalu kontrol mulai lagi menuju ke awal
putaran.
WHILE-LOOP
Perintah WHILE-LOOP menghubungkan kondisi dalam rangkaian
perintah-perintah yang diapit oleh kata-kata kunci LOOP dan END LOOP,
seperti berikut ini:
Bentuk umum :
WHILE condition LOOP
sequence_of_statements
END LOOP;
Sebelum setiap perulangan dari loop, kondisi dievaluasi. Jika kondisi
true, rangkaian perintah-perintah dieksekusi, kemudian kontrol kembali
ke awal loop. Jika kondisi false atau null, loop diabaikan dan kontrol
menuju ke perintah selanjutnya.
FOR-LOOP
Jumlah perulangan melalui loop WHILE tidak diketahui sampai loop
berakhir, namun jumlah perulangan melalui loop FOR telah diketahui
sebelum loop dijalankan. Loop-loop FOR berulang sejumlah jangkauan
integer tertentu. Jangkauan ini adalah bagian dari iteration scheme,
yang diapit oleh kata-kata kunci FOR dan LOOP. Tanda titik dua (..)
bertindak sebagai operator jangkauan. Sintaksnya adalah sebagai berikut:
Bentuk umum :
FOR counter IN [REVERSE] lower_bound..higher_bound LOOP
sequence_of_statements
END LOOP;
Jangkauan dievaluasi ketika loop FOR pertama kali dijalankan dan tidak pernah dievaluasi ulang.
3. Contoh perintah perulangan :
DECLARE
TYPE DateList IS TABLE OF DATE INDEX BY BINARY_INTEGER;
dates DateList;
k CONSTANT INTEGER := 5;
BEGIN
FOR j IN 1..3 LOOP
dates(j*k) := SYSDATE;
END LOOP;
END;
Tidak ada komentar:
Posting Komentar