Docstoc

Create Store Procedure Tanpa Parameter Dan Dengan Parameter

Document Sample
Create Store Procedure Tanpa Parameter Dan Dengan Parameter Powered By Docstoc
					Stored Procedure SQL Server [ Tanpa Parameter Dan Dengan Parameter ]

Contoh 1: Tanpa parameter

Contoh penggunaannya misalnya dalam tabel karyawan ingin
merapihkan penulisan nama karyawan misalnya Budi andita
andika Utama
CAHYADI

akan dirapihkan menjad, Huruf Kapital pada huruf pertamanya
selanjutnya huruf kecil, sehingga menjadi seperti ini:




CREATE PROCEDURE Rubahnama AS

/* Rubah dulu ke huruf kecil */
Update     mstKaryawan set nama_lengkap=lower(nama_lengkap)

/* Rubah dulu tanda spasi dengan (*) asterik */
Update     mstKaryawan set nama_lengkap=REPLACE(nama_lengkap, '
', '*')

/* Rubah huruf pertama dengan huruf besar */
Update     mstKaryawan set nama_lengkap =
UPPER(LEFT(nama_lengkap, 1)) + RIGHT(nama_lengkap,
LEN(nama_lengkap) - 1)

/* Rubah * menjadi spasi dan rubah huruf pertama setelah spasi
menjadi huruf besar */
While (Select count(*) from mstkaryawan where CHARINDEX('*',
nama_lengkap)>0)>0
begin
    Update mstKaryawan Set nama_lengkap =
left(nama_lengkap,CHARINDEX('*', nama_lengkap)-1)+' '+
    UPPER(SUBSTRING(nama_lengkap,CHARINDEX('*',
nama_lengkap)+1,1))+
    SUBSTRING(nama_lengkap,CHARINDEX('*',
nama_lengkap)+2,len(nama_lengkap))
   Where CHARINDEX('*', nama_lengkap)>0

    if (Select count(*) from mstkaryawan where CHARINDEX('*',
nama_lengkap)>0)=0
           BREAK
    else
           CONTINUE
end

Contoh 2 : Menggunakan parameter
Contoh diatas tidak menggunakan parameter, sekarang kita coba
contoh yang lain

CREATE PROCEDURE [dbo].[Mutasi] @tgl1 as Datetime,@tgl2 as
Datetime AS

Select a.KodeBarang,b.NamaBarang, b.Satuan,a.Qawal,a.QIn,
a.QOut, a.QAdj, a.QAwal+a.Qin-a.Qout as QAkhir from (
Select KodeBarang,SUM(QAwal) as QAwal, SUM(QIn) as Qin,
SUM(QOut) as QOut from (
/*Stock Awal*/
Select x.KodeBarang,SUM(x.Qty) as QAwal,0 as QIn, 0 as QOut from
(

/*Transaksi Masuk sebelum periode */
Select KodeBarang,SUM(Qty) as Qty from Trans_Masuk
Where Tanggal<@tgl1
Group By KodeBarang
UNION ALL

/*Transaksi Keluar sebelum periode */
Select KodeBarang,SUM(Qty)*-1 as Qty from Trans_Keluar
Where Tanggal<@tgl1
Group By KodeBarang
) X Group By KodeBarang
UNION ALL

/*Transaksi*/
Select y.KodeBarang,0 as QAwal,SUM(y.QIn) as QIn,SUM(Qout) as
QOut from (
/*Transaksi Masuk selama periode parameter */
Select KodeBarang,SUM(Qty) as QIn,0 from Trans_Masuk
Where Tanggal>=@tgl1 AND a.Tanggal<=@tgl2
Group By KodeBarang
UNION ALL

/*Transaksi Keluar selama periode parameter */
Select KodeBarang,0,SUM(Qty) as QOut from Trans_Keluar
Where Tanggal>=@tgl1 AND a.Tanggal<=@tgl2
Group By KodeBarang
) Y Group By y.KodeBarang
) TblAll Group By KodeBarang) a inner join MDBRG b On
a.KodeBarang = b.KodeBarang

Terlihat parameternya adalah @tgl1 dan @tgl2
Tampilkan mutasi periode 1 Agustus 2012 hingga 31 Agustus 2012,
maka tampilannya akan seperti ini

Perintahnya Exec Mutasi '8/1/2012','8/31/2012'

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:18
posted:12/20/2012
language:Malay
pages:3
Abu Fathan As Salafy Abu Fathan As Salafy Ahlus Sunnah Wal Jamaah www.markazabufathan.co.nr
About kunjungi Markaz Abu Fathan di : www.desasalaf.blogspot.com, www.kampungsalaf.wordpress.com, www.markazsunnah.blogspot.com