Blok PL/SQL Non Modular dan Modular
Tujuan Pembelajaran Mahasiswa memahami type Blok PL/SQL Mahasiswa memahami Blok PL/SQL non modular vs modular
Pendahuluan PL/SQL adalah singkatan dari Procedural Language / Structured Query Language, merupakan gabungan dari bahasa pemrograman prosedural dengan Sintaks SQL. Type blok PL/SQL terdiri dari: Blok non-modular, atau dikenal dengan sebutan anonymous block PL/SQL Blok Modular
Blok PL/SQL Non Modular (Anonymous Block) Anonymous Block adalah blok PL/SQL tidak bernama, tidak menggunakan parameter dan tidak disimpan dalam database sehingga tidak bisa direferensi/dipanggil oleh blok PL/SQL lain. Jika ingin menggunakan kode program yang sama anonymous block harus diketik dan dieksekusi kembali. Blok dalam PL/SQL non-modular terdiri dari bagian-bagian, sebagai berikut: Declare ……………….. Begin …………………. Exception ………………… End; 1 2 3 4 Bagian yang dapat dijalankan (executable), berisi statement SQL dan statement PL/SQL, bersifat mandatory Deklarasi berisi variabel, cursor, user-defined exceptions, bersifat optional Bagian penanganan kesalahan (exception handling), bersifat optional Akhir program bersifat mandatory
Contoh 1: Anonymous Block PL/SQL Sebuah Anonymous Block PL/SQL untuk menampilkan sebuah kalimat “SELAMAT DATANG DI PEMROGRAMAN BASIS DATA” Jalankan SQLPLUS Login ke system Oracle Ketik perintah untuk menampilkan output: set serveroutput on Ketikkan program anonymous block
Contoh 2: Anonymous Block PL/SQL Dengan menggunakan tabel Employees dari skema HR, dibuat anonymous blok menampilkan nama pegawai dan lama bekerja (dalam tahun) untuk pegawai dengan employee_id 180 Jalankan SQLPlus Login ke skema HR Ketik set serveroutput on untuk menampilkan output Ketikkan anonymous block
Blok PL/SQL Modular Konsep dari blok PL/SQL Modular adalah membagi blok program PL/QL yang besar dan kompleks menjadi bagian- bagian kecil sub program (modul program) yang dapat dipanggil dari blok PL/SQL ataupun modul program lainnya. Blok PL/SQL Modular merupakan blok PL/SQL yang memiliki nama dan tersimpan di dalam skema database sehingga dapat dieksekusi secara berulang kali jika user memiliki privilege untuk mengeksekusinya. Nama blok PL/SQL yang dibuat nantinya akan menjadi objek oracle database akan dieksekusi pada saat pemanggilan setelah sebelumnya dibuat terlebih dahulu. Oracle database menggunakan blok modular PL/SQL untuk melakukan pembuatan objek-objek seperti Procedure, Function, Package dan Trigger. Blok PL/SQL Modular memiliki struktur hampir sama dengan blok PL/SQL Non Modular
Perbedaan Blok PL/SQL Non Modular dan Modular Anonymous Block Sub Program Blok tidak bernama Blok bernama Compile setiap waktu Compile hanya 1 kali Tidak disimpan dalam database Disimpan dalam database Tidak dapat dipanggil oleh aplikasi lain Dapat dipanggil oleh aplikasi lain Tidak mengembalikan nilai Untuk sub program jenis function harus mengembalikan nilai Tidak dapat mengambil parameter Dapat mengambil parameter
Referensi Feuerstein, Steven, dan Bill Pribyl. Oracle PL/SQL programming. Sebastopol, CA: O'Reilly, 2009. Print. Urman, Scott, Ron Hardman, dan Michael McLaughlin. Oracle Database 10g PL/SQL Programming. New York: McGraw-Hill/Osborne, 2004. Print. Srivastava, Tulika, dan Glenn Stokol. Oracle Database 10g: Develop PL/SQL Program Units 2nd Edition. Boston: Oracle Publisher, 2006. Dedy Rahman Wijaya. Modul Praktikum Pemrograman Basis Data. Universitas Telkom, 2014.