Kondisi Pada PL/SQL

By Chaca Atmika - Friday, May 11, 2012

Kondisi Pada PL/SQL :

  • IF-THEN
Rangkaian perintah-perintah dieksekusi hanya jika kondisi adalah true.
Bentuk Umum :
IF condition THEN
sequence_of_statements
END IF;
  •  IF-THEN-ELSE
Rangkaian perintah-perintah dalam klausa ELSE dieksekusi hanya jika kondisi bernilai false atau null
Bentuk Umum :
IF condition THEN
sequence_of_statements1
ELSE
sequence_of_statements2
END IF;
  • IF-THEN-ELSIF
Jika kondisi pertama bernilai false atau null, klause ELSIF akan menguji kondisi lainnya.
Bentuk Umum :
IF condition1 THEN
sequence_of_statements1
ELSIF condition2 THEN
sequence_of_statements2
ELSE
sequence_of_statements3
END IF;
  • CASE
Seperti halnya perintah IF, perintah CASE menyeleksi satu rangkaian perintah-perintah untuk dieksekusi.

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];

Contoh Kondisi pada PL/SQL :
//program membaca angka genap atau ganjil
set serveroutput on
set verify off

declare
bil integer :=&bil;
begin
if mod (bil,2) = 0  then
dbms_output.put_line (bil || 'adalah bilangan genap');
else
dbms_output.put_line (bil || 'adalah bilangan ganjil');
end if;
end;
/
bil bernilai integer, output yang akan dikeluarkan dbms adalah 'hasil bilangan genap atau ganjil' dan proses perhitungannya jika (bilangan mod 2) = 0
bil adalah nilai yang telah dimasukkan sehingga akan memproses 2 mod 2 = 0
2 MOD 2 = 0 berarti 2 adalah bilangan genap.
3 MOD 2 = 0 berarti 3 adalah bilangan ganjil.

Macam-Macam Looping pada PL/SQL :

  • Basic Loops
Hampir sama logikanya dengan DO-WHILE pada Bahasa Prosedural yang lain, contohnya pada bahasa C.
Bentuk Umum :
LOOP
statement1;
...
EXIT [WHEN condition];
END LOOP;
  • For Loops
Logikanya sama dengan FOR pada Bahasa Prosedural yang lain, contohnya pada bahasa C.
Bentuk Umum :
FOR counter IN [REVERSE]
lower_bound..upper_bound LOOP
statement1;
statement2;
...
END LOOP;
  • While Loops
Kita menggunakan WHILE LOOPS ketika kita ingin mengecek terlebih dahulu kondisi yang ada, baru kemudian lakukan looping sampai syaratnya tidak terpenuhi. 
Bentuk Umum :
WHILE condition
statement1;
statement2;
...
END LOOP;

Contoh Looping pada PL/SQL :
DECLARE
J INTEGER;
BEGIN
J:=0;
LOOP
J:=J+1;
DBMS_OUTPUT.PUT_LINE ('TestLooping');
EXIT WHEN J=10;
END LOOP;
END;
/

Macam-Macam Array pada PL/SQL :

  • Associative array
yaitu jenis array yang bersifat temporer, pencarian elemen menggunakan index key yang dapat berupa string maupun angka.
  • Nested table
yaitu jenis array yang menggunakan angka terurut dalam pencarian elemennya, namun jumlah elemen tidak dideklarasikan.
  • Varray
yaitu jenis array yang menggunakan angka terurut dalam pencarian elemennya dan mendeklarasikan jumlah elemennya. 

Procedure,

yaitu sebuah blok PL/SQL yang dapat berdiri sendiri serta dikompilasi untuk selanjutnya masuk ke dalam skema database.

Contoh program sederhana menggunakan procedure :
set serveroutput on
create or replace procedure hitung_luas_segitiga AS
alas NUMBER(5);
tinggi NUMBER(5);
luas NUMBER(10);
begin
alas := 3;
tinggi := 6;
luas := (alas*tinggi)/2;
dbms_output.put_line ('Luas=' || luas);
end;
/
..................
execute hitung_luas_segitiga;


Function,

yaitu suatu blok PL/SQL yang memiliki konsep sama dengan procedure, hanya saja pada function terdapat pengembalian nilai (return value). 

Contoh program sederhana menggunakan function :
set serveroutput on
declare
x varchar2(20);
begin
x := tulis_teks;
dbms_output.put_line(x);
end;
/

  • Share:

You Might Also Like

0 komentar