PL/SQL adalah singkatan dari Procedural Languange/Structured Query Language. Salah satu teknologi dalam Oracle Database, bahasa pemrograman yang kombinasi dengan syntax SQL untuk memberikan kemudahan di dalam melakukan pengolahan data pada Database. Bagi para developer yang menggunakan Oracle sebagai database dari aplikasinya, PL/SQL tentu tidak asing lagi bagi mereka.
Karakteristik PL/SQL
Blok Pemrograman, PL/SQL selalu terdiri dari 3 (tiga) bagian utama, yaitu deklarasi (DECLARE), pemrograman (BEGIN…END), serta pengendalian Error (EXCEPTION).
Bagian utama yang wajib ada dalam satu blok PL/SQL adalah pemrograman, sedangkan bagian deklarasi dan pengendalian Error bersifat opsional.
Ekslusif, PL/SQL adalah sebuah fitur yang spesifik ada di Oracle.
Jika melakukan migrasi ke Database yang lain, maka harus melakukan assessment terlebih dahulu apakah memungkinkan untuk dipindahkan secara langsung atau harus melakukan perubahan (kadang malah melakukan tulis ulang) kode tersebut.
Hal ini menyebabkan pertimbangan melakukan migrasi dari Oracle ke database lain harus memperhatikan penggunaan PL/SQL ini.
Jenis PL/SQL
PL/SQL secara umum terbagi atas 2 jenis, yaitu Anonymous Block dan Stored Block (Procedure).
Anonymous Block adalah kode PL/SQL yang tidak tersimpan ke dalam Database.
Blok kode ini bisa melakukan pemrograman selayaknya PL/SQL, namun kode ini tidak bisa dipanggil/diakses kembali (kecuali anda menyimpan kode-nya di laptop anda).
Stored Block, atau lebih dikenal dengan procedure, adalah blok kode PL/SQL yang tersimpan di dalam Database, dan bisa dipanggil kembali dengan menggunakan nama dari procedure tersebut.
Dalam Database, terdapat beberapa objek yang menggunakan PL/SQL, yaitu Procedure, Function, Package, dan Trigger.
Procedure, adalah blok PL/SQL yang bisa memiliki beberapa parameter input (ataupun tidak punya parameter output) dan beberapa parameter output.
Sementara function, bisa memiliki (ataupun tidak memiliki) beberapa parameter input, namun hanya bisa memiliki 1 (satu) parameter output.
Package adalah gabungan dari beberapa procedure dan/atau function. Dan Trigger adalah blok PL/SQL yang akan dijalankan ketika terjadi perubahan data pada table (tergantung deklarasi apakah ketika insert, update, ataupun delete).