1. KONDISI
KONDISI adalah struktur yang terdiri dari perintah-perintah IF dan CASE.Terdapat tiga bentuk perintah-perintah IF: IF-THEN, IF-THEN-ELSE, dan IF-THEN-ELSE-IF.
2. Macam-macam kondisi & bentuk umum :
a. 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.
b. 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.
c. Perintah IF-THEN-ELSE-IF
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.
d. 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. Contoh Program Sederhana menggunakan kondisi :
SET SETVEROUTPUT ON
DECLARE
J NUMBER;
JUM VARCHAR(20);
BEGIN
SELECT COUNT(*) INTO J FROM TAB;
IF J=1 THEN
JUM := ’SATU’;
ELSIF J=2 THEN
JUM := ’DUA’;
ELSIF J=3 THEN
JUM := ’TIGA’;
ELSIF J=4 THEN
JUM := ’EMPAT’;
ELSIF J=5 THEN
JUM := ’LIMA’;
END IF;
DBMS_OUTPUT.PUT_LINE(‘JUMLAH TABEL = ’||J||’ (’||JUM||’)’);
END;
/
a. Contoh Case dalam PL/SQL
SET SETVEROUTPUT ON
DECLARE
J NUMBER;
JUM VARCHAR(20);
BEGIN
SELECT COUNT(*) INTO J FROM TAB;
JUM := CASE J
WHEN 1 THEN ’SATU’
WHEN 2 THEN ’DUA’
WHEN 3 THEN ’TIGA’
WHEN 4 THEN ’EMPAT’
WHEN 5 THEN ’LIMA’
END;
DBMS_OUTPUT.PUT_LINE(’JUMLAH TABEL = ’||J||’ (’||JUM||’)’);
END;
/
Tidak ada komentar:
Posting Komentar