Wednesday 27 November 2013

70. Pengertian PL-SQL

PL / SQL (Procedure Language / Structure Query Language)


1.    Pengertian PL/SQL

PL/SQL versi 1.0 diperkenalkan pertama kali pada oracle database versi 6.0. PL/SQL
memungkinkan penulisan pernyataan kompleks yang tidak dapat dibuat dengan pernyataan SQL.
Namun PL/SQL versi 1.0 sangat terbatas kemampuannya dan setelah mengalami sejumlah
perkembangan dengan dikeluarkannya Oracle database versi 7.0 dan selanjutnya. PL/SQL adalah
fasilitas yang disediakan Oracle sehingga pengguna dapat memanfaatkan konsep pemrograman.
PL/SQL adalah bahasa pemrograman yang digabungkan dengan SQL. 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.

Pada PL/QL versi 2 mulai mendukung paket yang tersimpan(stored packet), prosedur dan fungsi.



Arsitektur PL/SQL terlihat pada gambar 1.1 diatas. Database Oracle memanggil program
kompilasi ke dalam memori dan kemudian PL/SQL engine dan SQL engine mengeksekusi program yang ada.
Sementara khusus bagi oracle, ada istilah PL/SQL. PL/SQL yang merupakan singkatan dari Procedural Language/Structured Query Language merupakan sebuah penggabungan antara bahasa pemrograman prosedural (PL) dan SQL syntax. Jika digambarkan sebagai berikut

Jadi dengan PL/SQL kita tidak perlu menggunakan sebuah bahasa pemrograman sendiri.
fungsi-fungsi standard di bahasa pemrograman sudah ada di sini dan bisa langsung digabung dengan perintah SQL untuk memanipulasi database. Tapi PL/SQL cuma ada di database oracle saja.


1.    Memahami Fitur-fitur Utama PL/SQL

Cara terbaik untuk mempelajari PL/SQL adalah dengan melihat sebuah contoh program. Program berikut ini memproses pemesanan raket tenis. Pertama, program mendeklarasikan variable bertipe NUMBER untuk menyimpan jumlah raket tenis yang tersedia. Kemudian, menampilkan jumlah raket tersedia dari table database yang bernama INVENTORY. Jika jumlah lebih besar daripada nol, program akan meng-update table dan menambahkan data pembelian ke dalam table lain yang bernama PURCHASE_RECORD. Sebaliknya, jika jumlah lebih kecil atau sama dengan nol, program akan menambahkan informasi bahwa stok tidak mencukupi ke dalam table PURCHASE_RECORD.
BEGIN
SELECT quantity INTO qty_on_hand FROM inventory
WHERE product = 'TENNIS RACKET'
FOR UPDATE OF quantity;
IF qty_on_hand > 0 THEN -- check quantity
UPDATE inventory SET quantity = quantity - 1
WHERE product = 'TENNIS RACKET';
INSERT INTO purchase_record
VALUES ('Tennis racket purchased', SYSDATE);
ELSE
INSERT INTO purchase_record
VALUES ('Out of tennis rackets', SYSDATE);
END IF;
COMMIT;
END;

Dengan PL/SQL, kita dapat menggunakan perintah-perintah SQL untuk memanipulasi data pada database Oracle serta perintah-perintah flow-of-control untuk memproses data. Kita juga dapat mendeklarasikan konstanta dan variable, mendefinisikan procedure dan function, dan menangkap pesan kesalahan. Dengan demikian, PL/SQL mengkombinasikan kekuatan manipulasi data dari SQL dengan kekuatan pemrosesan data dari bahasa prosedural (procedural language).

No comments:

Post a Comment