Pada artikel ini saya akan membahas tentang cara insert, update dan delete dengan menggunakan stored procedure pada SQL Server. Manfaat kita menggunakan stored adalah :
- Ketika beberapa aplikasi client ditulis menggunakan bahasa yang berbeda-beda atau bekerja pada platform yang berbeda, namun memerlukan operasi database yang sama.
- Ketika keamanan diutamakan. Function dan stored procedure dapat digunakan untuk operasioperasi database yang umum digunakan. Routine dapat memastikan setiap operasi dicatat lognya. Aplikasi dan user dapat diatur tidak memiliki akses langsung ke database, tapi hanya dapat mengakses routine tertentu.
Berikut saya akan jelaskan cara membuat stored procedure pada sql server 2008 :
1. Buatlah rancangan tabel seperti berikut.
2. Kemudian Buat Stored Procedure baru, pilih didatabase yang digunakan, Programmability > Storade Procedures kemudian klik kanan dan pilih > New Storade Procedures, seperti contoh dibawah ini.
Kemudian masukan kode dibawah ini..
USE [Database_Yang_Digunakan] -- Database yang anda gunakan
CREATE PROCEDURE [dbo].[AU_Master_Customer] -- Nama Storade Procedure, bukan Tabel
@KdCust char(5) ,
@Customer varchar(50) ,
@JenisCustomer varchar(50) ,
@JenisKelamin char(10) ,
@Alamat varchar(100),
@NoTelepon varchar(30) ,
@Status char(1) -- A=Simpan & Ubah ; D=Hapus
CREATE PROCEDURE [dbo].[AU_Master_Customer] -- Nama Storade Procedure, bukan Tabel
@KdCust char(5) ,
@Customer varchar(50) ,
@JenisCustomer varchar(50) ,
@JenisKelamin char(10) ,
@Alamat varchar(100),
@NoTelepon varchar(30) ,
@Status char(1) -- A=Simpan & Ubah ; D=Hapus
AS
-- (Komentar ) Select Kode Customer bila ada maka akan loncat ke update
select @KdCust=KdCust from dbo.Master_Customer where KdCust=@KdCust
if @@rowcount=0
begin
insert into Master_Customer
(KdCust,
Customer,
JenisCustomer,
JenisKelamin,
Alamat,
NoTelepon,
alamat,
NoTelepon)
values
(@KdCust,
@Customer,
@JenisCustomer,
@JenisKelamin,
@Alamat,
@NoTelepon,
@alamat,
@NoTelepon)
select @KdCust=KdCust from dbo.Master_Customer where KdCust=@KdCust
if @@rowcount=0
begin
insert into Master_Customer
(KdCust,
Customer,
JenisCustomer,
JenisKelamin,
Alamat,
NoTelepon,
alamat,
NoTelepon)
values
(@KdCust,
@Customer,
@JenisCustomer,
@JenisKelamin,
@Alamat,
@NoTelepon,
@alamat,
@NoTelepon)
End
Else
Begin
-- (Komentar) Apabila Kode Customer suda ada maka akan membaca kesini, dan jika Parameter Status nya adalah A/ ditombol simpan dikirimkan A maka update yang akan dijalankan, Tapi kalau selain Parameter 'A' misalkan Parameter 'D' di Delete maka akan loncak ke Delete
if upper (@Status)='A'
begin
update Master_Customer set Customer = @Customer,
JenisCustomer=@JenisCustomer,
JenisKelamin=@JenisKelamin,
Alamat=@Alamat,
NoTelepon=@NoTelepon
where KdCust = @KdCust
end
Else
Begin
-- (Komentar) Apabila Kode Customer suda ada maka akan membaca kesini, dan jika Parameter Status nya adalah A/ ditombol simpan dikirimkan A maka update yang akan dijalankan, Tapi kalau selain Parameter 'A' misalkan Parameter 'D' di Delete maka akan loncak ke Delete
if upper (@Status)='A'
begin
update Master_Customer set Customer = @Customer,
JenisCustomer=@JenisCustomer,
JenisKelamin=@JenisKelamin,
Alamat=@Alamat,
NoTelepon=@NoTelepon
where KdCust = @KdCust
end
else
begin -- Jika Parameter Status Selain A dan Kode Barang sudah terdaftar
Delete dbo.Master_Customer where KdCust = @KdCust
end
end
return @@error
begin -- Jika Parameter Status Selain A dan Kode Barang sudah terdaftar
Delete dbo.Master_Customer where KdCust = @KdCust
end
end
return @@error
okey setelah selesai kemudian anda tinggal memanggilnya di program yang digunakan sesuai dengan parameter yang ada..berikut ini contoh pemanggilan parameternya, tapi maaf maaf banget pake VB6..hehe.
Nah contoh pemanggilan storade procedur nya disesuaikan yah am type koneksinya...yang penting parameter yang dikirim sama dengan parameter yang ada di Storade Procedure tadi...
Terimakasih semoga bermanfaat..









Terimakasi
BalasHapus