PL/SQL atau diesebut dengan Procedural Language/Structured Query Language adalah suatu bahasa pemrograman untuk database Oracle.
Struktur dasar dari PL/SQL adalah DECLARE, BEGIN, dan END. Untuk menandakan suatu komentar (tidak diproses oleh compiler), gunakan “- -” pada tiap baris komentar.
- Integrasi ketat dengan SQL
- Performa yang lebih baik
- Produktifitas yang lebih tinggi
- Portabilitas penuh
- Keamanan yang ketat
- Akses ke paket-paket yang telah di definiskan sebelumnya
- Mendukung pemrograman berorientasi objek
- Mendukung pengembangan halaman dan aplikasi Web.
Fitur-fitur utama pada PL/SQL :
- Struktur Block
- Bagian deklaratif (DECLARE)
- Bagian eksekusi (BEGIN, END)
- Bagian penanganan eksepsi (EXCEPTION) bagian yang menangani kondisi error
- Badan PL/SQL Block
/* deklarasi variabel, type dan subprogram lokal */
BEGIN
/* prosedural dan SQL masuk disini */
/* BAGIAN INI YANG WAJIB */
EXCEPTION
/* penanganan eksepsi (ERROR) */
END;
- Bagian Deklarasi Variabel
Contoh :
DECLARE
v_counter INTEGER;
v_nim CHAR(5);
v_nama VARCHAR(2);
v_nilai NUMBER;
v_nim_2 mahasiswa.nim%TYPE /* tipe variabel mengikuti tipe field mahasiswa.nim */
Ket :
Kenapa diberikan tanda v_ ? tujuannya adalah agar tidak bentrok dengan nama field.
contohhnya : INSERT INTO mahasiswa (nim, nama) VALUES (v_nim, v_nama);
ANONYMOUS BLOCK
Block PL/SQL Anonymous (tidak bernama) dapat disampaikan kepada kakas interaktif seperti
SQL*Plus dan Enterprise Manager, menyimpannya dalam Oracle Precompiler atau Oracle Call
Interface(OCI), atau mendefinisikannya dalam aplikasi dengan bahasa lain (Contoh : Java, C#, C++) .
Berbeda dengan Subprogram(Stored Procedure, Stoded Function) Anonymous PL/SQL Block tidak
dibuat (CREATE) dan tidak disimpan pada Database. Biasanya Anonymous PL/SQL Block ini di
jalankan dari dalam aplikasi. Pada run-time Aplikasi akan mengirimkan anonymous PL/SQL block ini
kepada database Oracle, dimana Anonymous block tersebut di compile dan di eksekus
- Badan Anonymous Block (Secara Umum)
DECLARE
/* deklarasi variabel, type dan subprogram lokal */
BEGIN
/* prosedural dan SQL masuk disini */
/* BAGIAN INI YANG WAJIB */
EXCEPTION
/* penanganan eksepsi (ERROR) */
END;
- Untuk melihat Seluruh Subprogram pada Database Oracle, anda dapat menuliskan perintah berikut :
SELECT * FROM USER_PROCEDURES;
- Melihat Subprogram tertentu
SELECT * FROM USER_PROCUDERES WHERE OBJECT_NAME = <nama_SP>;
- Melihat seluruh Subprogram yang dimiliki DBA
SELECT * FROM DBA_PROCEDURES;
Hal ini tidak di sarankan karena dari perintah
SELECT COUNT (*) FROM DBA_PROCEDURES;
akan menghasilkan row sebanyak 12.906
Tidak ada komentar:
Posting Komentar