STORED PROCEDURE
Stored Procedure adalah sekumpulan perintah SQL yang disusun dalam sebuah procedure (mirip dengan di pemrograman biasa) yang memiliki nama dan fungsi tertentu. Stored procedure merupakan grup transact SQL (T-SQL). Jika anda memiliki kondisi dimana anda harus menuliskan query yang sama berulang kali, maka anda dapat menyimpan query tersebut ke dalam stored procedure dan apabila dibutuhkan tinggan memanggil procedure yang telah dibuat. Store Procedure adalah salah satu objek routine yang tersimpan pada database MySQL dan dapat digunakan untuk menggantikan berbagai kumpulan perintah yang sering kita gunakan, seperti menampilkan informasi dengan kondisi tertentu. Store procedure sangat berguna ketika menginginkan adanya user yang tidak dapat mengakses tabel secara langsung atau dengan kata lain membatasi hak akses user dan mencatat operasi yang dilakukan. Dengan demikian resiko kebocoran dan kerusakan data dapat diminimalisir.
Pengertian lain menyebutkan, store procedure adalah program yang disimpan dalam database seperti halnya data. Store procedur memiliki manfaat antara lain :
- Dapat digunakan kapanpun Seperti halnya pembuatan procedure pada bahasa pemrograman seperti VB/Java atau bahasa pemrograman lainnya. Apabila sebuah program cukup banyak memiliki proses yang akan dikerjakan, akan lebih baik program tersebut dipecah menjadi bagian-bagian kecil (procedure). Fungsi utama/program utama hanya tinggal memanggil bagian-bagian program tersebut. Seperti halnya pada basis data.
- Lebih cepat dan efisien karena bersifat server side Jika ingin membuat program yang cukup besar, pembuatan program server side akan terasa lebih mudah dibanding client side. Server side akan bersifat netral terhadap semua aplikasi, disisi lain database administrator tidak perlu mengetahui terlalu mendalam terhadap bahasa pemrograman seperti VB/Java/PHP dan lain sebagainya. 3. Mudah dibuat dan dirawat karena kecil tetapi “Power Full”
- Keterangan :
Dibuat stored procedure dengan nama spBarangPerKategori dengan menambahkan 1 parameter
yaitu @kategori bertipe VARCHAR(50). Kemudian dibuat query untuk menyeleksi data barang beserta kategori barang dimana kategori barang sesuai dengan inputan pada saat eksekusi procedure.
Selanjutnya eksekusi query tersebut. Jika view menampilkan data/informasi barang yang dibutuhkan tanpa ada filter/kriteria, dengan menggunakan store procedure dapat menampilkan databarang .dengan menambahkan kriteria tertentu. Untuk menjalankan store procedure tersebut maka querynya adalah :
Contoh 2 STORED PROCEDURE MENGGUNAKAN PARAMETER OUTPUT
Stored procedure untuk menghitung berapa jumlah barang berdasarkan kategori yang diinputkan.
- Keterangan :
Variable @kategori merupakan parameter yang digunakan untuk memberikan kondisi kategori
tertentu (explanation). Variabel @jumlah merupakan variable yang digunakan untuk menampung hasil output. Untuk menjalankan stored procedure tersebut
Namun apabila dimodifikasi menjadi : (keyword OUT/OUTPUT pada jumlahBarang dihilangkan)
- Keterangan :
Dibuat sebuah store procedure untuk menentukan jumlah supplier yang dimiliki dengan
menggunakan return value. Maka sebelum query tambahkan keyword RETURN.
- Sp_help procedure_name
2.Sp_helptext procedure_name
Untuk menampilkan text dari stored procedure.
3.Sp_depends procedure_name
Untuk melihat dependensi dari store procedure. System ini sangat berguna, khususnya jika anda menginginkan untuk mengecek, jika ada beberapa stored procedure yang tereferensi (reference) sebuah tabel yang ingin dihapus. Sp_depends juga dapat digunakan untuk object database seperti tabel.
- Buat stored procedure untuk menampilkan data barang yang stok minimalnya sesuai dengan angka yang diinputkan ! Misal : stok minimal yang diinputkan 50, maka hasil outputnya : (jumlah baris : 21 rows)
- Buat stored procedure untuk menampilkan data barang berdasarkan nama supplayer atau kode supplayer yang diinputkan !
- Buat stored procedure untuk menambahkan dan mengubah data category !
- Buat stored procedure untuk menampilkan data transaksi penjualan lengkap dengan data konsumen dan data barang berdasarkan rentang waktu tertentu (misal dari tanggal 1 mei 2016 hingga tanggal 30 mei 2016) ! TASK
4 Comments
makasih infonya gan, ternyata begitu yah fungsi stored procedure, maklum newbie di mysql
Terimakasih infonya, biasanya saya hanya tau CRUD aja. Ini berguna untuk projek besar kayaknya.
nice info
KINTIL
EmoticonEmoticon