16 September 2011

Cara Membuat Store Procedure di SQL Server


Cara Membuat Store Procedure di SQL Server



Cara Membuat Store Procedure di SQL Server
Membuat STORE PROCEDURE di SQL sangat penting untuk dikuasai terutama bagi ingin mendalami bahasa pemrograman aplikasi yang berkaitan dengan DATABASE (entah itu Delphi, VBasic, VFoxro, bahkan Web Base). Karena didalam STORE PROCEDURE ini kita akan melakukan perhitungan-perhitungan data yang hasilnya berupa dataset langsung dapat kita ambil melalui program aplikasi yang kita bikin.Mungkin Anda pernah mendengar dengan program Client Server. Maksud dari program Client Server adalah kita membuat suatu program yang diletakkan diserver berupa bahasa SQL dimana didalam program tersebut biasanya ditugaskan untuk melakukan perhitungan-perhitungan data dimana hasil akhirnya dapat kita ambil dan ditampilkan lewat program-program aplikasi (seperti Delphi, Visual Basic, Visual Foxpro, dll) yang berhubungan langsung dengan end user. Jadi STORE PROCEDURE tersebut letaknya di Sever, sedangkan program aplikasi yang berhubungan langsung dengan end user letaknya di komputer Client. Untuk itulah diistilahkan dengan program Client Server. Penguasaan SQL wajib hukumnya bagi yang ingin mengembangkan suatu program dengan berbasis DATABASE. Kalau tidak kita akan mendapat suatu kesulitan yang sangat luar biasa dalam mengembangkan suatu program aplikasi. Apalagi bahasa SQL ini sangat welcome sekali terhadap berbagai macam jenis bahasa. Semuanya rata-rata mengenali bahasa ini. Kita kembali ke awal, dengan menggunakan STORE PROCEDURE traffic (lalu lintas) data dijaringan dapat dikurangi, karena perhitungan-perhitungan sudah dilakukan diserver dan program di Client tinggal mengambil hasil akhirnya saja yang akan ditampilkan kepada end user.
sp01
Disini saya akan membuat contoh membuat STORE PROCEDURE dengan memakai SQL Server dengan menggunakan fasilitas Query Analyzer.
Untuk memudahkan saya akan berikan contoh kasus sederhana dibawah ini :
Kita mempunyai dua tabel, yang pertama tb_masuk dimana tabel ini berisi quantity barang masuk. Dan yang kedua tabel tb_keluar yang berisi data quantity barang keluar. Sekarang hitung jumlah quantity dengan rumus qty_akhir = qtymasuk-qtykeluar.
tb_masuk tb_keluar
KodeQtyKodeQty
100150100210
100225100311
100112100415
100315100620
10062610025
10043010033
100125100120
10022310062
Pertama kali buka Query Analyzer, dan diharapkan Anda sudah bisa membuat CREATE DATABASE dan CREATE TABLE dengan isinya seperti tabel diatas.
Kemudian pertama-tama bikin perintah seperti dibawah ini
CREATE PROC sp_hitungStok AS
Perintah tersebut di running terlebih dahulu.
Kemudian diedit melalui langkah-langkah berikut :
Klik Object Browser (F8)
sp02

sp03

muncul gambar seperti diatas, pilih database yang digunakan dan di expand, kemudian pilih folder Store Procedure, disini merupakan daftar dari Store Procedure termasuk Store Procedure yang kita bikin diatas. Cari nama Store Procedure yang telah kita bikin yaitu sp_hitungStok. Kemudian klik kanan dan edit…..
sp04

setelah ALTER PROC sp_hitungStok AS sisipkan perintah ini :
create table #tb_hasil(kode char(4), qty float)  
insert into #tb_hasil
select kode, qty from tb_masuk
insert into #tb_hasil
select kode, qty from tb_keluar
select kode, sum(qty)from #tb_hasil group by kode order by kode
“create table #tb_hasil(kode char(4), qty float)” merupakan tabel temporary, setelah procedure selesai dijalankan table ini otomatis terhapus.
sp05

Setelah perintah disisipkan silakan di running terlebih dahulu procedure ini dengan menekan tombol Ctrl+E.
Setelah itu ditutup tidak apa-apa, atau masuk dalam window lain dengan menekan tombol Ctrl+W, pilih window sebelumnya atau untitled1.
Berikan perintah untuk memanggil procedure yang dibikin tadi dengan perintah berikut :
exec sp_hitungStok
kemudian perintah ini diblok, dan di running dengan Ctrl+E
Untuk lebih jelas hasilnya dalam bentuk grid Anda harus men-setting menu Query-Result in Grid
Anda akan melihat hasilnya :
sp06

Tabel hasil tersebut merupakan penjumlahan dari tabel tb_masuk dan tb_keluar.
Store Procedure dengan Parameter
Dengan contoh yang sama kita akan membuat suatu store procedure dengan parameter.
Seperti contoh diatas kita harus melakukan pengeditan dengan mengklik kanan Store Procedure yang kita bikin dan berikan perintah berikut :
ALTER PROC sp_hitungStok @kode char(4) AS  
create table #tb_hasil(kode char(4), qty float)
insert into #tb_hasil
select kode, qty from tb_masuk where kode = @kode
insert into #tb_hasil
select kode, qty from tb_keluar where kode = @kode
select kode, sum(qty)from #tb_hasil group by kode order by kode
Lengkapnya sbb :
sp07

Kemudian di running, terus untuk memanggilnya :
exec sp_hitungStok isi_paramater
contoh : exec sp_hitung ’1001′
silakan jalankan, kita akan mendapatkan hasil berikut :
sp08

Yang akan tampil hanya kode ’1001′
Anda bisa mencobannya dengan kode lainnya.

Tidak ada komentar:

Posting Komentar