PENDAHULUAN
PL/SQL
(Procedural Language/Structured Query Language) merupakan sebuah
penggabungan antara bahasa pemrograman prosedural (PL) dan SQL syntax.
PL/SQL
adalah fasilitas yang disediakan Oracle sehingga pengguna dapat
memanfaatkan konsep pemrograman. Dalam PL/SQL dapat digunakan perintah
untuk memanipulasi data yang ada dalam database Oracle. PL/SQL membentuk
pemrograman terstruktur dalam memproses data.
Beberapa kelebihan PL/SQL dalam database Oracle :
· PL/SQL dapat digunakan di server sehingga client hanya dapat mengakses didalam server.
· Penggunaan PL/SQL mudah dimengerti oleh setiap pengguna.
· PL/SQL dapat didesain khusus untuk database Oracle dalam menggunakan
program aplikasi.
STRUKTUR PL/SQL
Struktur
PL/SQL mirip dengan struktur bahasa pascal atau delphi yang menggunakan
struktur blok, sehingga akan mempermudah pengertian dalam pemrograman
dengan PL/SQL. Struktur Blok berisi perintah SQL dengan kondisi yang
berbeda. Perintah PL/SQL dapat menangani kesalahan saat dijalankan.
Setiap pengetikan dengan menggunakan PL/SQL dalam SQL*Plus selalu
diakhiri dengan tanda /(slash). Sintaks penggunaan PL/SQL adalah sebagai
berikut :
Declare
Begin
Exception
End
Struktur diatas dapat dijelaskan sebagai berikut :
1. Bagian Judul (Header)
Bagian
ini hanya digunakan jika PL/SQL diberikan nama,misalnya untuk prosedur
atau fungsi. Bagian ini berisi nama blok,daftar parameter, dan
pengembalian hasil (return) jika blok adalahfungsi.
2. Bagian Deklarasi (declaration)
Bagian
ini untuk membuat deklarasi mengenai semua variable dan konstanta yang
direferensikan dalam pernyataan PL/SQL. Bagian deklarasi ini dimulai
dengan perintah DECLARE. Jika tidak ada variable atau konstanta yang
ingin dideklarasikan bagian ini boleh dihilangkan, bersifat optional.
3. Bagian Eksekusi (Execution).
Bagian ini memuat pernyataan-pernyataan PL/SQL yang akan ditulis. Bagian eksekusi ini harus dimulai dengan perintah BEGIN.
4. Bagian Perkecualian (Exception)
Bagian
ini memuat cara menangani kesalahan-kesalahan (error) pada waktu
eksekusi program PL/SQL, bersifat optional. Jika program tidak memuat
cara menangani kesalahan, bagian ini boleh dihilangkan.Setiap pernyataan
PL/SQL harus diakhiri dengan tanda titik koma(;) dan semua program
PL/SQL harus diakhiri dengan perintah END.
Bentuk Umum Struktur PL/SQL
DECLARE
variabel tipe_data;
konstanta CONSTANT tipe_data := nilai;
...
BEGIN
statement_1;
statement_2;
...
EXCEPTION
WHEN nama_eksepsi THEN statement_untuk_mengatasi_error;
...
END;
Contoh Program (tanpa exception)
SQL> SET SERVEROUTPUT ON
SQL>DECLARE
v1 NUMBER(3);
BEGIN
v1 := 3;
DBMS_OUTPUT.PUT_LINE('v1= ' || v1);
END;
v1 NUMBER(3);
BEGIN
v1 := 3;
DBMS_OUTPUT.PUT_LINE('v1= ' || v1);
END;
/
Contoh Program (dengan exception)
SQL>SET SERVEROUTPUT ON
SQL>DECLARE
X Integer;
BEGIN
X := ‘Belajar Oracle’;
DBMS_OUTPUT.PUT_LINE( TO_CHAR(X) );
EXCEPTION
WHEN VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE (‘Kesalahan pada pengisian nilai’);
END;
/
DBMS_OUTPUT
merupakan paket yang disediakan oleh Oracle PL / SQL dan PUT_LINE
merupakan salah satu prosedur yang dikemas. Menampilkan nilai-nilai pada
SQL Plus * terminal yang harus diaktifkan dengan SERVEROUTPUT SET ON
terlebih dahulu. Untuk menjalankan kode sampel ini, login ke SQL * Plus.
PL / SQL blok diakhiri dengan tanda garis miring / atau garis byitself.
TIPE DATA
Tipe Data dasar :
· Numerik
Ø NUMBER, BINARY_INTEGER, DEC, DOUBLE PRECISION, INTEGER, INT, NUMERIC, REAL, SMALLINT
· Karakter
Ø VARCHAR2, CHAR, LONG
· DATE
· BOOLEAN
· ROWID
Tipe Data tambahan :
· RECORD
· ARRAY
Type data yang dapat dikenali dalam PL/SQL dapat berupa type data SQL dan type data seperti :
1. BOOLEAN
Dipakai untuk menyatakan data logika, yaitu TRUE(benar), FALSE(salah), dan NULL(kosong).
2. BINARY_INTEGER
Digunakan
untuk mendeklarasikan bilangan yang tidak mempunyai angka desimal. Tipe
dataNATURAL dan POSITIVE merupakan subset dariBINARY_INTEGER.
3. %TYPE
Tipe data ini dipakai untuk menandakan bahwa variabelyang deklarasikan sama dengan tipe data dari kolom tabel tertentu.
4. %ROWTYPE
Tipe data ini menandakan bahwa sekelompok variabel adalah sama dengan tipe data darirow suatu tabel tertentu.
5. Tabel dan Record
Tipe data komposit untuk pemakaian yang lebih kompleks.
VARIABEL DAN KONSTANTA
Pada bagian deklarasi ditempatkan variable dan konstanta yang dipakai oleh pernyataan PL/SQL yang dibuat.
ü VARIABEL
Adalah sebuah peubah yang digunakan untuk menampung sebuah nilai di memori komputer.
Bentuk Umum :
variable_name datatype [NOT NULL := value ];
Keterangan :
· Variable_name adalah nama variabel.
· Datatype adalah valid PL / SQL datatype.
· NOT NULL adalah sebuah spesifikasi opsional pada variabel.
· Nilai atau DEFAULT juga merupakan spesifikasi opsional, di mana anda bisa menginisialisasi variabel.
· Setiap deklarasi variabel adalah pernyataan terpisah dan harus diakhiri dengan titik koma.
Contoh Deklarasi Variabel :
DECLARE
X integer;
Alamat varchar2(40);
No_induk char(8);
.....
BEGIN
X := 12;
Alamat := ‘Gelatik Dalam 391, Bandung’;
No_induk := ‘DOG29549’;
END;
Contoh Lain
DECLARE
TYPE v_arr IS VARRAY(25) of NUMBER(3);
TYPE v_arr IS VARRAY(25) of NUMBER(3);
v1 v_arr;
v_empno employee.empno%TYPE;
BEGIN
BEGIN
v1(2) := 3;
DBMS_OUTPUT.PUT_LINE ('Nilai v1 (2) =' | | v1 (2));
DBMS_OUTPUT.PUT_LINE ('Nilai v1 (2) =' | | v1 (2));
v_empno := 4;
END;
v Ketika variabel ditetapkan sebagai TIDAK NULL, Anda harus menginisialisasi variable ketika dideklarasikan.
Contoh di bawah ini menyatakan dua variabel, salah satunya adalah tidak null.
DECLARE
salary number(4);
dept varchar2(10) NOT NULL := “HR Dept”;
Nilai
variabel yang bisa berubah dalam pelaksanaan atau pengecualian bagian
PL / SQL Block. Kita dapat menempatkan nilai ke variabel dalam dua cara
yang diberikan di bawah ini.
- Kita dapat langsung memberikan nilai pada variabel.
Sintaks Umum adalah:
variable_name:= value;
- Kita dapat menempatkan nilai ke variabel langsung dari kolom database dengan menggunakan SELECT… INTO statement. INTO pernyataan.
Sintaks Umum adalah:
SELECT column_name
INTO variable_name
FROM table_name
[WHERE condition];
|
Contoh Program
Program ini di bawah ini akan mendapatkan gaji seorang karyawan dengan id '1116 'dan menampilkannya pada layar.
DECLARE
var_salary number(6);
var_emp_id number(6) = 1116;
BEGIN
SELECT salary
INTO var_salary
FROM employee
WHERE emp_id = var_emp_id;;
dbms_output.put_line(var_salary);
dbms_output.put_line('The employee ' dbms_output.put_line ('Insan'
|| var_emp_id || ' has salary ' || var_salary);
END;
/
ü KONSTANTA
Digunakan untuk menyimpan sebuah nilai di memori komputer. Nilai yang disimpan bersifat tetap (konstan)
Contoh Deklarasi Konstanta :
DECLARE
pi CONSTANT real := 3.14;
lebar CONSTANT integer := 100;
Perbedaan variabel dengan konstanta adalah :
· Konstanta
Nilai ditentukan pada saat deklarasi dibuat sehingga nilainya tetap pada saat program dieksekusikan.
· Variabel
Dapat menerima nilai baru atau sebaliknya diubah pada saat program dieksekusi.
sumber :http://apriliawakhyuni.blogspot.com/2010/05/pengenalan-plsql.html
Tidak ada komentar:
Posting Komentar