Store procedure merupakan sekumpulan perintah SQL yang tersimpan dalam sebuah nama dan diproses dalam satu kesatuan. Store procedure mirip dengan procedure atau function pada bahasa pemrograman yang dapat dieksekusi tersendiri. Kemiripan tersebut antara lain:
- Dapat menerima parameter sebagai input dan mengembalikan nilai dalam bentuk parameter output kepada yang memanggilnya.
- Mengandung sekumpulan perintah program yang melakukan operasi di dalam dataabase, termasuk memanggil prosedur lainnya.
- Mengembalikan suatu nilai pada pemanggilnya untuk mengindikasikan kesuksesan atau kegagalan prosedur dan alasan mengapa prosedur tersebut gagal.

Mengenal Store Procedure
Keuntungan menggunakan store procedure yaitu:
- Pemrograman menjadi lebih modular. Artinya prosedur hanya dibuat sekali tersimpan dalam database dan dapat dipanggil berkali-kali dari bahasa pemrograman, seperti Delphi, VFP, PHP, JAVA atau VB.
- Store procedure dapat dimodifikasi tanpa harus mengubah kode program (Delphi, JAVA, VFP atau PHP) yang memanggil store procedure tersebut.
- Eksekusi program lebih cepat.
- Mengurangi padatnya lalulintas data dalam jaringan komputer. Efeknya akan terasa ketika menggunakan aplikasi client/server. Karena hanya mengirimkan store procedure saja dari pada mengirim perintah SQL yang berpuluh-puluh baris.
- Dapat digunakan untuk mekanisme keamanan. Artinya user dapat diberi hak menjalankan store procedure walaupun user tersebut tidak memiliki hak akses menjalankan SQL di dalam store procedure.
Dalam membuat store procedure terdapat beberapa aturan sebagai berikut:
- Store procedure hanya dibuat pada database yang aktif saja.
- Nama store procedure harus sesuai dengan aturan-aturan membuat variabel.
- Untuk menjalankan store procedure menggunakan perintah EXECUTE atau EXEC.
Perintah dasar store procedure yaitu:
Create procedure namaprosedur
@parameter1 tipedata,
@parameter2 tipedata,
.......
....... Output
as perintah_SQL
1. Stored Procedure tanpa Parameter
Berikut ini contoh menciptakan store procedure tanpa parameter:
Create procedure sp_nasabah
As
select idnasabah as 'ID',nama_nasabah as 'Nama Lengkap',
alamat as 'Alamat Domisili'
from nasabah
Untuk menjalankan store procedure, ketikkan perintah:
Exec sp_nasabah
2. Stored Procedured dengan Parameter
Berikut ini contoh menciptakan store prosedure dengan parameter berdasarkan parameter masukan kodecabang.
Create procedure sp_transaksi
@kodecabang varchar(25)
as
select nasabah.nama_nasabah, cabang_bank.nama_cabang
from nasabah, cabang_bank, nasabah_rek
where nasabah.idnasabah = nasabah_rek.idnasabah
and rekening.norek = nasabah_Rek.norek
and cabang_bank.kodecabang = @kodecabang
Perintah berikut ini digunakan untuk menampilkan semua nasabah yang memiliki rekening di cabang 'BPR Cahaya Mitra'. Parameter dari @kodecabang adalah 'BPR Cahaya Mitra'. Parameter tersebut dapat anda ganti sesuai dengan nama cabang keinginan.
Exec sp_transaksi 'BPR Cahaya Mitra'
Berikut ini contoh perintah membuat store procedure dimana jika lupa mengisi parameternya sudah ditentukan, namun jika diisikan parameter lain tetap dapat dieksekusi sesuai dengan parameter yang dimasukkan.
Create procedure sp_trans
@kodecabang varchar(25) = 'BPR Cahaya Madani'
as
select nasabah.nama_nasabah, cabang_bank.nama_cabang
from nasabah, cabang_bank, nasabah_rek
where nasabah.idnasabah = nasabah_rek.idnasabah
and rekening.norek = nasabah_Rek.norek
and rekening.kode_cabang = cabang_bank.kode_cabang
and cabang_bank.kodecabang = @kodecabang
Untuk melihat hasilnya eksekusi perintah berikut:
Exec sp_trans
Semoga bermanfaat & selamat belajar!