Rabu, 06 April 2011

Kondisi pada PL/SQL

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