Iklan

Selasa, 11 September 2012

Cara Membuat Store Procedure di SQL Server

- bazComp share -


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.



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
Kode Qty Kode Qty
1001 50 1002 10
1002 25 1003 11
1001 12 1004 15
1003 15 1006 20
1006 26 1002 5
1004 30 1003 3
1001 25 1001 20
1002 23 1006 2
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)





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…..



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.



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 :



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) AScreate 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 :



Kemudian di running, terus untuk memanggilnya :

exec sp_hitungStok isi_paramater

contoh : exec sp_hitung ’1001′

silakan jalankan, kita akan mendapatkan hasil berikut :



Yang akan tampil hanya kode ’1001′

Anda bisa mencobannya dengan kode lainnya.

Tidak ada komentar:

Posting Komentar