IF-ELSE Statement
Sama
seperti bahasa pemrograman yang lain, PL/SQLjuga menyediakan Statement IF-ELSE
Syntax :
IF
END IF;
condition
THENstatements;
[
ELSIF condition
THENstatements;]
[
ELSEstatements;]
END IF;
Contoh :
SET SERVEROUTPUT ON
SET VERIFY OFF
SET VERIFY OFF
DECLARE
BEGIN
IF
DBMS_OUTPUT.PUT_LINE
ELSIF
DBMS_OUTPUT.PUT_LINE
ELSE DBMS_OUTPUT.PUT_LINE
END IF;
END;
ANGKA
NUMBER :=
&n;
BEGIN
IF
Angka > 10
THENDBMS_OUTPUT.PUT_LINE
('ANGKA' || ANGKA || 'LEBIH BESAR DARI
10');
ELSIF
ANGKA < 10
THENDBMS_OUTPUT.PUT_LINE
('ANGKA' || ANGKA || 'LEBIH KECIL DARI
10');
ELSE DBMS_OUTPUT.PUT_LINE
('ANGKA' || ANGKA || 'SAMA DENGAN 10');
END IF;
END;
Blok PL/SQL diatas
terdapat simbul ampersand (&) yang
digunakan untuk meminta inputan user. Apabila user memasukkan angka lebih besar
dari 10 maka Oracle Server akan mencetak statement DBMS_OUTPUT.PUT_LINE
yang pertama. Jika Angka yang diinput lebih keci dari 10 Maka Oracle Server akan
mencetak statement DBMS_OUTPUT.PUT_LINE yang kedua. Dan jika tidak ada
kondisi yang memenuhi semua kondisi diatas, maka oracle server akan mencetak
statement DBMS_OUTPUT.PUT_LINE yang ketiga.
CASE Statement
Selain
menggunakan statement IF, Oracle juga menyediakan alternatif lain
untuk melakukan pemilihan statement, yaitu dengan menggunakan CASE
Statement. Case statement hampir sama logikanya dengan
menggunakan SWITCH-CASE pada bahasa C.
Syntax :
CASE selector
WHEN expression1 THEN result1
WHEN expression2 THEN result2
…
WHEN expressionN THEN resultN
[ELSE resultN+1]
END;
WHEN expression1 THEN result1
WHEN expression2 THEN result2
…
WHEN expressionN THEN resultN
[ELSE resultN+1]
END;
Contoh :
SET SERVEROUTPUT ON
SET VERIFY OFF
SET VERIFY OFF
DECLARE
BEGIN
input
VARCHAR2(1):= upper('&input');
kota
VARCHAR2(50);BEGIN
kota:=
CASE
WHEN
WHEN
WHEN
ELSE
END
input
WHEN
'A'
THEN 'Jakarta'
WHEN
'B'
THEN 'Padang'
WHEN
'C'
THEN 'Bandung'
ELSE
'Indonesia'
END
;
DBMS_OUTPUT.PUT_LINE
END;
('Input: '|| inpur|| 'Kota' || kota);
END;