Kali ini akan dibahas tentang PL/SQL pada database, dimana PL/SQL adalah yang merupakan singkatan dari Procedural Language/Structured Query Language merupakan sebuah penggabungan antara bahasa pemrograman prosedural (PL) dan SQL syntax. 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.
Program 1
SET SERVEROUTPUT ON;
DECLARE
P NUMBER (3) := 10;
L NUMBER (3) := 5;
LUAS NUMBER (3);
BEGIN
LUAS := P*L;
DBMS_OUTPUT.PUT_LINE (‘LUAS PERSEGI PANJANG : ‘ || LUAS);
END;

Serveroutput diaktifkan untuk dapat menampilkan hasil output dari perintah yang dimasukkan. Selanjutnya, di deklarasikan variabel apa saja yang akan diggunakan. Disini digunakan variabel P, L dan LUAS untuk dapat menghitung luas persegi panjang, dengan tipe data masing-masing yaitu number agar dapat dihitung nilai variabelnya. Selanjutnya tinggal memulai program penghitungan luas persegi dengan diawali dengan perintah begin, diikuti dengan rumus mencari luas persegi yaitu panjang dikali lebar. Selanjutnya, dilakukan perintah untuk menampilkan output perhitungan, diikuti dengan pemanggilan terhadap variabel LUAS sebagai hasil dari perhitungan tadi. Program kemudian diakhiri dengan perintah end.

Output:

Program 2
CREATE TABLE MHS (NAMA VARCHAR2 (20), NPM VARCHAR2 (8) PRIMARY KEY, KELAS VARCHAR2 (5));

INSERT INTO MHS VALUES (‘CHOGI KIM’, ‘50408042’, ‘3GG09’);
INSERT INTO MHS VALUES (‘TAEYEON KIM’, ‘50408009’, ‘3GG09’);
INSERT INTO MHS VALUES (‘YURI KWON’, ‘50408021’, ‘3GG09’);

Output:
Buat sebuah tabel terlebih dahulu, disini dibuat tabel MHS dengan isi field terdiri dari NAMA, NPM dan KELAS. Masing-masing field diisi dengan 3 record, agar nanti dapat dipanggil dengan perintah PL/SQL. Selanjutnya, dilakukan perintah PL/SQL sebagai berikut:
SET SERVEROUTPUT ON;
DECLARE
NAMA VARCHAR2 (20);
NPM VARCHAR2 (8);
KELAS VARCHAR2 (5);
BEGIN
SELECT * INTO NAMA, NPM, KELAS FROM MHS WHERE NPM = ‘50408042’;
DBMS_OUTPUT.PUT_LINE (‘NAMA : ‘ || NAMA);
DBMS_OUTPUT.PUT_LINE (‘NPM : ‘ || NPM);
DBMS_OUTPUT.PUT_LINE (‘KELAS : ‘ || KELAS);
SELECT * INTO NAMA, NPM, KELAS FROM MHS WHERE NPM = ‘50408009’;
DBMS_OUTPUT.PUT_LINE (‘NAMA : ‘ || NAMA);
DBMS_OUTPUT.PUT_LINE (‘NPM : ‘ || NPM);
DBMS_OUTPUT.PUT_LINE (‘KELAS : ‘ || KELAS);
SELECT * INTO NAMA, NPM, KELAS FROM MHS WHERE NPM = ‘50408021’;
DBMS_OUTPUT.PUT_LINE (‘NAMA : ‘ || NAMA);
DBMS_OUTPUT.PUT_LINE (‘NPM : ‘ || NPM);
DBMS_OUTPUT.PUT_LINE (‘KELAS : ‘ || KELAS);
END;

Serveroutput diaktifkan untuk dapat menampilkan hasil output dari perintah yang dimasukkan. Selanjutnya, di deklarasikan variabel apa saja yang akan diggunakan. Disini dideklarasikan lagi variabel yang ada dalam tabel tadi yaitu NAMA, NPM dan KELAS. Selanjutnya dilakukan perintah PL/SQL untuk dapat menampilkan isi dari tabel tadi. Disini digunakan perintah select untuk menampilkan record yang akan ditampilkan dan perintah PL/SQL untuk menampilkan outputnya, diikuti dengan pemanggilan terhadap variabel yang akan ditampilkan, masing-masing NAMA untuk NAMA, NPM untuk NPM, dan KELAS untuk KELAS. Selanjutnya dilakukan hal yang sama untuk menampilkan record lainnya, bedanya hanya pada nailai NPm yang akan dipanggil dari tabel MHS, sesuai dengan nilai salah satu field record yang ingin ditampilkan. Program diakhiri dengan perintah end.

Output: