Muqadimah
PL/SQL adalah blok yang berisi skrips-skrips bahasa procedural. Dengan blok PL/SQL
kita dapat menuliskan perintah-perintah seperti menuliskan perintah pada bahasa
pemrograman procedural lainnya.
Dengan adanya PL/SQL, kita dapat meningkatkan performance dari
database yang akan kita olah karena didukung oleh adanya bagian tipe data,
struktur percabangan maupun struktur pengulangan.
Tipe
Data, Variabel, dan Konstanta.
Tipe
Data.
Secara umum
didalam sebuah blok PL/SQL
Oracle, tipe data dapat dibedakan menjadi lima
yaitu: numeric, karakter, data, Boolean, dan rowed. Berikut ini list tipe data
yang disediakan oleh Oracle.
Nama
|
Tipe
|
Keterangan
|
NUMBER
|
Numerik
|
Untuk semua tipe numerik
|
DEC
|
Numerik
|
Untuk bilangan desimal
|
DOUBLE PRECISION
|
Numerik
|
Untuk bilangan riil dgn presisi yg tinggi
|
INTEGER
|
Numerik
|
Untuk bilangan bulat
|
INT
|
Numerik
|
Untuk bilangan bulat
|
NUMERIC
|
Numerik
|
Sama dengan Number
|
REAL
|
Numerik
|
Sama dengan Number
|
SMALLINT
|
Numerik
|
Untuk bilangan bulat dgn rentang yg kecil
|
VARCHAR2
|
Karakter
|
Untuk string dgn panjang yg dinamis
sesuai dgn panjang maksimal yg ditentukan
|
CHAR
|
Karakter
|
Untuk string dgn panjang yg sudah pasti.
|
LONG
|
Karakter
|
Untuk string dgn lebar diatas 32.767 byte
|
DATE
|
Tanggal
|
Untuk tipe tanggal
|
BOOLEAN
|
Boolean
|
Bernilai TRUE (benar) dan FALSE (salah)
|
ROWID
|
Rowid
|
Untuk tipe rowed.
|
Variabel
Seperti pada bahasa pemrograman lainnya, variabel berfungsi untuk
menampung sebuah nilai di memori komputer. Nilai tsb dapat dirubah setiap saat
jika diperlukan. Tipe data tsb harus sesuai dengan nilai yang akan ditampung.
Agar sebuah variabel dapat digunakan didalam sebuah blok, maka ia harus
dideklarasikan. Cara mendeklarasikan variabel adalah seperti berikut ini :
DECLARE
nama varchar2(50);
id number;
|
Konstanta
Sama halnya seperti Variabel, kegunaan konstanta adalah untuk
menyimpan sebuah nilai di memori komputer. Perbedaan yang paling mendasar dari
keduanya adalah dari sifat data yang akan disimpan. Pada variabel, nilai yang
akan disimpan bersifat fleksibel artinya dapat diubah-ubah. Sedangkan pada
konstanta bersifat tetap atau statis. Cara mendeklarasikan juga sama seperti
pada variabel. Perhatikan berikut ini :
DECLARE
Pi CONSTANT real:=3.14;;
lebar CONSTANT integer:=
100;
|
Komentar pada Blok PL/SQL
Contoh :
/* Skript Update
Pelanggan */ Berlaku untuk satu
baris atau lebih
atau
-- Skript Update
Pelanggan Berlaku untuk satu baris
|
Struktur
Blok PL/SQL
Secara umum blok PL/SQL
Oracle dibagi menjadi tiga bagian yaitu :
- Bagian deklarasi tipe data
- Bagian statement atau perintah yang akan dieksekusi
- Bagian Eksepsi (untuk menangani error)
DECLARE
variabel
tipe_data;
konstanta
constant tipe_date:=nilai;
...
...
BEGIN
Statemen_1;
Statemen_2;
...
...
EXCEPTION
WHEN nama_eksepsi THEN
Statemen_untuk_mengatasi_error;
...
END;
|
Perhatikan contoh dibawah
ini :
SET SERVEROUTPUT ON
BEGIN
DBMS_OUTPUT.PUT_LINE('Sukses bersama ORACLE....!');
END;
|
Atau,
SET SERVEROUTPUT ON
DECLARE
teks VARCHAR2(50);
BEGIN
teks := 'Sukses bersama ORACLE...!';
DBMS_OUTPUT.PUT_LINE(teks);
END;
/
|
SET SERVEROUTPUT ON
DECLARE
teks VARCHAR2(5);
BEGIN
teks := 'Sukses bersama ORACLE...!';
DBMS_OUTPUT.PUT_LINE(teks);
EXCEPTION
WHEN VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE('Pesan Error :
Kesalahan pada panjang karakter..');
END;
/
|
OPERATOR
Istilah yg sering kita dengar jika menggunakan Oracle.
X:=9*11;
maka :
X disebut Variabel
:= disebut operator assigment
9 dan 11 disebut operand
9*6 disebut ekspresi
*
disebut operator aritmatika
X:=9*11; disebut statemen
aritmatika
|
Operator yang kita kenal di Oracle ada beberapa yaitu :
1. Operator Logika : AND, OR, NOT
2. Operator Aritmatika : +, -, *, /, MOD
3. Operator Relational : <, <=, >, >=
4. Operator Persamaan : =, <>
5. Operator Penggabungan : ||
Contoh penggunaan Operator :
SET SERVEROUTPUT ON
DECLARE
x number;
y
number;
z
number;
xx
number;
teks varchar2(100);
BEGIN
x:=11*9;
y:=9+11;
z:=100-10;
xx:= x MOD 2;
teks := 'Nilai xx sama dgn = ';
DBMS_OUTPUT.PUT_LINE(teks|| TO_CHAR(xx));
END;
/
|
Sekian dulu semoga bermanfaat dan silakan dicoba pada oraclenya, klo gw sih biasanya pake Toad lebih powerfull. :D
Tidak ada komentar:
Posting Komentar