penggunaan pl sql

1
Percabangan Percabangan adalah suatu kontrol untuk pengecekan yang dilakukan sebelum statemen-statemen dalam sebuah blok PL/SQL dieksekusi.Statement yang dapat digunakan untuk percabangan adalah IF dan CASE, dengan syntax sebagai berikut IF kondisi THEN Statemen; END IF CASE (ekspresi) WHEN nilai_1 THEN Statemen_1; WHEN nilai_2 THEN Statemen_2; ……… WHEN nilai_n THEN Statemen_n [ELSE Statemen_lain;] END CASE; Perulangan Pengulangan adalah suatu blok yang memperbolehkan statemen-statemen dalam sebuah blok PL/SQL diulang- ulang. Tiga buah jenis struktur pengulangan dalam Oracle, yaitu simple loop, For dan While. Sintak masing-masing struktur pengulangan tersebut adalah: LOOP Statement; ……… END LOOP; FOR variabel IN indeks_awal .. indeks_akhir LOOP Statement; ….. END LOOP WHILE kondisi LOOP Statemen; ………….. END LOOP; Tipe data Adalah pengelompokan data berdasarkan isi dan sifatnya 1. Variabel DECLARE merupakan perintah yang digunakan untuk memberitahukan compiler oracle atau dengan katalain berarti memberitahu oracle bahwa anda mendeklarasikan sebuah/ beberapa variable atau konstanta. Contoh DECLARE X integer; Nama varchar(40); NIK char(8); 2. Konstanta konstanta berguna untuk menyimpan suatu nilai dalam memori computer tetapi nilai tidak dapat diubah DECLARE Phi constant real :=3.14; jari2 constant integer:=100; Contoh Kode Program dengan PL/SQL sebagai implementasi dari materi variabel dan konstanta : 1. declare 2. a integer; 3. b number; 4. begin 5. a:=2*3; 6. b:=100+3.14; 7. dbms_output.put_line(to_char(a)); 8. end; Eksepsi (exception) merupakan jenis-jenis error yang menyebabkan terhentinya program secara tidak normal 1Pre-defined Exception Adalah sebuah eksepsi yang telah didefinisikan atau sudah tersedia dalam Oracle, sehingga dapat langsung menggunakan tanpa harus membuatnya terlebih dahulu Contoh 1, Tanpa blok eksepsi SET SERVEROUTPUT ON DECLARE X INTEGER; Y NUMBER; BEGIN X := 0; Y := 1 / X; DBMS_OUTPUT.PUT_LINE(‘Nilai Y = ‘ || TO_CHAR(Y)); END; / Hasil yang muncul dilayar: ORA-01476 : divisior is equal to zero Contoh 1, Dengan blok eksepsi SET SERVEROUTPUT ON DECLARE X INTEGER; Y NUMBER; BEGIN X := 0; Y := 1 / X; DBMS_OUTPUT.PUT_LINE(‘Nilai Y = ‘ || TO_CHAR(Y)); EXCEPTION WHEN ZERO_DEVIDE THEN DBMS_OUTPUT.PUT_LINE(‘Terjadi kesalahan karena terdapat ‘ || ‘pembagian dengan 0 (NOL) ‘); END; / 2User-defined Exception Untuk membuat sebuah eksepsi, diperlukan : Variabel bertipe EXCEPTION Dihubungkan dengan tipe PRAGMA EXCEPTION_INIT Kode error harus negatif (-) Bentuk Umum : DECLARE nama_eksepsi EXCEPTION; PRAGMA EXCEPTION_INIT (nama_eksepsi, kode_error); Contoh tanpa eksepsi SET SERVEROUTPUT ON DECLARE X ROWID; BEGIN SELECT ROWID INTO X FROM ALL_VIEWS; END; / Hasil yang tampil dilayar : ORA-01445: Cannot select ROWID from view of more than one table Contoh dengan eksepsi SET SERVEROUTPUT ON DECLARE eksepsiku EXCEPTION; PRAGMA EXCEPTION_INIT(eksepsiku, -10445); X ROWID; BEGIN SELECT ROWID INTO X FROM ALL_VIEWS; EXCEPTION WHEN eksepsiku THEN DBMS_OUTPUT.PUT_LINE(‘KESALAHAN : Tidak dapat ‘ || ‘menampilkan ROWID dari beberapa tabel atau view’); END; / PL/SQL adalah kepanjangan dari PROCEDURAL LANGUAGE/STRUCTURE QUERY LANGUAGE yang mempunyai definisi : suatu blok yang berisi skrip-skrip bahasa procedural BEGIN DBMS_OUTPUT.PUT_LINE(‘Belajar Oracle’); END; 49

Upload: anjar-vessalius

Post on 17-Dec-2015

23 views

Category:

Documents


5 download

DESCRIPTION

Penggunaan PL SQL pada oracle db

TRANSCRIPT

MODUL X

Percabangan

Percabangan adalah suatu kontrol untuk pengecekan yang dilakukan sebelum statemen-statemen dalam sebuah blok PL/SQL dieksekusi.Statement yang dapat digunakan untuk percabangan adalah IF dan CASE, dengan syntax sebagai berikut

IF kondisi THEN Statemen;

END IF

CASE (ekspresi)

WHEN nilai_1 THEN Statemen_1;

WHEN nilai_2 THEN Statemen_2;

WHEN nilai_n THEN Statemen_n

[ELSE Statemen_lain;]

END CASE;

Perulangan

Pengulangan adalah suatu blok yang memperbolehkan statemen-statemen dalam sebuah blok PL/SQL diulang-ulang. Tiga buah jenis struktur pengulangan dalam Oracle, yaitu simple loop, For dan While. Sintak masing-masing struktur pengulangan tersebut adalah:

LOOP

Statement;

END LOOP;

FOR variabel IN indeks_awal .. indeks_akhir LOOP

Statement;

..

END LOOP

WHILE kondisi LOOP

Statemen;

..

END LOOP;

Tipe dataAdalah pengelompokan data berdasarkan isi dan sifatnya

1. VariabelDECLARE merupakan perintah yang digunakan untuk memberitahukan compiler oracle atau dengan katalain berarti memberitahu oracle bahwa anda mendeklarasikan sebuah/ beberapa variable atau konstanta. ContohDECLARE X integer; Namavarchar(40); NIK char(8);2.Konstantakonstanta berguna untuk menyimpan suatu nilai dalam memori computer tetapi nilai tidak dapat diubah

DECLARE Phi constant real :=3.14;jari2 constant integer:=100;Contoh Kode Program dengan PL/SQL sebagai implementasi dari materi variabel dan konstanta :1. declare2. a integer;3. b number;4. begin5. a:=2*3;6. b:=100+3.14;7. dbms_output.put_line(to_char(a));8. end;Eksepsi (exception) merupakan jenis-jenis error yang menyebabkan terhentinya program secara tidak normal

1Pre-defined Exception

Adalah sebuah eksepsi yang telah didefinisikan atau sudah tersedia dalam Oracle, sehingga dapat langsung menggunakan tanpa harus membuatnya terlebih dahulu

Contoh 1, Tanpa blok eksepsi

SET SERVEROUTPUT ON

DECLARE

X INTEGER;

Y NUMBER;

BEGIN

X := 0;

Y := 1 / X;

DBMS_OUTPUT.PUT_LINE(Nilai Y = || TO_CHAR(Y));

END;

/

Hasil yang muncul dilayar:

ORA-01476 : divisior is equal to zero

Contoh 1, Dengan blok eksepsi

SET SERVEROUTPUT ON

DECLARE

X INTEGER;

Y NUMBER;

BEGIN

X := 0;

Y := 1 / X;

DBMS_OUTPUT.PUT_LINE(Nilai Y = || TO_CHAR(Y));

EXCEPTION

WHEN ZERO_DEVIDE THEN

DBMS_OUTPUT.PUT_LINE(Terjadi kesalahan karena terdapat || pembagian dengan 0 (NOL) );

END;

/

2User-defined Exception

Untuk membuat sebuah eksepsi, diperlukan :

Variabel bertipe EXCEPTION

Dihubungkan dengan tipe PRAGMA EXCEPTION_INIT

Kode error harus negatif (-)

Bentuk Umum :

DECLARE

nama_eksepsi EXCEPTION;

PRAGMA EXCEPTION_INIT (nama_eksepsi, kode_error);

Contoh tanpa eksepsi

SET SERVEROUTPUT ON

DECLARE

X ROWID;

BEGIN

SELECT ROWID INTO X FROM ALL_VIEWS;

END;

/

Hasil yang tampil dilayar :

ORA-01445: Cannot select ROWID from view of more than one tableContoh dengan eksepsi

SET SERVEROUTPUT ON

DECLARE

eksepsiku EXCEPTION;

PRAGMA EXCEPTION_INIT(eksepsiku, -10445);

X ROWID;

BEGIN

SELECT ROWID INTO X FROM ALL_VIEWS;

EXCEPTION

WHEN eksepsiku THEN

DBMS_OUTPUT.PUT_LINE(KESALAHAN : Tidak dapat ||

menampilkan ROWID dari beberapa tabel atau view);

END;

/

PL/SQLadalah kepanjangan dariPROCEDURAL LANGUAGE/STRUCTURE QUERY LANGUAGE yang mempunyai definisi : suatu blok yang berisi skrip-skrip bahasa procedural

BEGIN

DBMS_OUTPUT.PUT_LINE(BelajarOracle);

END;

PAGE 49