Stored Procedure Dengan Parameter
Tujuan Pembelajaran Mahasiswa dapat membuat dan mengeksekusi struktur stored procedure dengan parameter. Mahasiswa dapat menjalankan dan memanfaatkan stored procedure dengan parameter.
Parameter Parameter pada stored procedure digunakan untuk menghubungkan data antara procedure dengan si pemanggil procedure. Parameter diletakkan/dideklarasikan setelah nama sub program (stored procedure) pada bagian header blok PL/SQL Stored Procedure. Parameter yang digunakan pada stored procedure dinamakan formal parameter, sedangkan parameter yang digunakan oleh si pemanggil stored procedure tersebut dinamakan actual parameter.
Mode Parameter NAMA MODE KARAKTERISTIK IN bersifat default jika mode tidak dituliskan. Menyediakan nilai yang bisa diproses pada sub program. OUT mengembalikan nilai pada pemanggil store procedure. IN OUT menyediakan nilai masukan dari pemanggil yang memungkinkan juga untuk dikembalikan kepada pemanggil prosedur setelah dimodifikasi di dalam subprogram. Terdapat 3 mode/argument parameter antara lain: Mode IN bersifat default jika mode tidak dituliskan. Mode ini menyediakan nilai yang bisa diproses pada sub program. Mode Out digunakan untuk mengembalikan nilai pada pemanggil Stored Procedure Mode In OUT digunakan untuk menyediakan nilai masukan dari pemanggil yang memungkinkan juga untuk dikembalikan kepada pemanggil prosedur setelah dimodifikasi di dalam subprogram Untuk lebih jelasnya dapat dilihat pada gambar berikut Pemanggil Prosedur Prosedur IN OUT IN OUT
Sintaks Prosedur CREATE OR REPLACE PROCEDURE name Penggunaan parameter tergantung argumentnya Nama prosedur CREATE OR REPLACE PROCEDURE name [(parameter1 [mode] datatype1, Parameter2 [mode] datatype2, ...)] IS|AS [local declarations] BEGIN executable statements [EXCEPTION exception handlers] END [name]; Variabel local bersifat optional Berikut bentuk umum dari sintaks procedure Bagian Header adalah CREATE OR REPLACE PROCEDURE name/nama procedure adalah perintah untuk membuat procedure atau mengganti procedure lama jika procedure telah diciptakan sebelumnya. Penggunaan parameter pada bagian daftar parameter tergantung dari argument/mode parameternya. Keyword is atau as. Local declarations berisi variable lokal jika dibutuhkan.Body procedure diawali dengan begin dan diakhiri dengan END nama procedure; (titik koma dibaca) atau hanya END; tanpa nama procedure. Pada body procedure berisi statement-statement yang akan di eksekusi dan bagian exception atau penanganan kesalahan jika diperlukan Badan prosedur
Cara Memanggil Prosedur Berparameter 1. Menggunakan Anonymous Block BEGIN Procedure_name(parameter aktual1,parameter aktual2,dst); END; 2. Menggunakan perintah execute Cara memanggil procedure yang telah diciptakan ada 2 cara antara lain: Pertama menggunakan anonymous block yaitu: Begin Nama procedure dalam kurung parameter aktual sesuai dengan parameter formal yang digunakan;(titik koma disebutkan) Diakhir dengan END; Atau dengan menggunakan perintah execute yaitu execute atau disingkat exec kemudian nama procedure dalam kurung daftar parameter aktual diakhir titik koma Exec[ute] Procedure_name(parameter aktual1,parameter aktual2,dst);
PASSING PARAMETER Beberapa cara dalam melakukan passing parameter: Positional Passing parameter secara positional adalah passing dengan menyesuaikan urutan antara formal parameter dengan aktual parameter. Contoh: EXECUTE add_emp(300,’John’) Named Passing parameter dengan cara menuliskan nama variable formal parameter di parameter aktual dengan menggunakan bantuan ‘=>‘. EXECUTE add_emp(empid=>300, name=>’John’) Combination Combination merupakan kombinasi dari passing secara positional dengan named. EXECUTE add_emp (empid=>300,’John’,) Beberapa cara dalam melakukan passing parameter antara lain Narasi sesuai dengan teks pada slidenya
Contoh-1 Prosedur Dengan Parameter Kita akan membuat prosedur untuk menambah data fungsional dosen pada tabel fungsional. Jalankan SQLPlus. Login ke User BKD. Ketik perintah berikut untuk menampilkan hasil output: set serveroutput on Ketikkan program. Panggil procedure dengan perintah Exec Panggil procedure dengan menggunakan anonymous block. Video lewat
Contoh-2 Prosedur Dengan Parameter Kita akan membuat prosedur untuk mencari jabatan fungsional dosen seorang dosen. Input adalah NIDN dosen dan outputnya adalah JAFUNG. Jalankan SQLPlus. Login ke User BKD. Ketik perintah berikut untuk menampilkan hasil output: set serveroutput on Ketikkan program Memanggil procedure dengan menggunakan anonymous block. Video lewat
Contoh-3 Prosedur Dengan Parameter Kita akan membuat prosedur untuk mengkonversi massa dari ton ke kg. Jalankan SQLPlus. Login ke User SYSTEM. Ketik perintah berikut untuk menampilkan hasil output: set serveroutput on Ketikkan program Memanggil procedure dengan menggunakan anonymous block. Video lewat
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.