Tuesday, September 2, 2014

Input, Update, Delete Dengan Perintah Procedure di SQL Server 2008 R2

Assalamualaikum Wr. Wb.
Apakabar teman-teman? Semoga selalu dalam kedaan sehat dan selalu ceria, Amin (hehe)
Pada kesempatan kali ini saya mau berbagi dengan teman-teman semua tentang membuat bagaimana caranya kita membuat input, update, delete di SQL Server 2008 R2 dengan cara menggunakan Perintah Procedure. Setelah kita mengetahui caranya muntkin tidak begitu sulit untuk mempelajarinya, cuman agar kita bisa kita harus pandai-pandai untuk latihan nya.

Seperti biasa, saya harap teman-teman sudah mahir didalam membuat Database, dan membuat table sendiri yah. 

Pada kasus ini saya membuat satu database yang berisikan table barang, dan tabel notifikasi. dimana nantinya dua table ini saling berkaitan. Seperti table barang, apabila kita input data barang, maka nanti akan ada notifikasi pada tabel notifikasi, dengan berupa pemberitahuan "barang telah di input". Paham yah maksudnya.

Ya sudah dari pada banyak cing-cong saya, lebih baik teman-teman coba membuat sebuah table terlebih dahulu dengan membuat table barang, dan table notifikasi seperti code dibawah ini:
 
CREATE TABLE tbl_barang
(
ID INT PRIMARY KEY IDENTITY (1,1),
nama_produk NVARCHAR (MAX) NOT NULL,
supplier NVARCHAR (MAX) NOT NULL,
quantity int
)

CREATE TABLE tbl_notifikasi_barang
(
ID INT PRIMARY KEY IDENTITY (1,1),
notif NVARCHAR (MAX) NOT NULL
)

SELECT * FROM tbl_barang
SELECT * FROM tbl_notifikasi_barang
Setelah teman-teman membuat table barnag dan table notifikasi ini, teman-teman tinggal membuat code didalam procedure tersebut. Code nya seperti dibawah ini:
 
-- INPUT BY STORE PROCEDURE nama produk dan supplier
ALTER PROCEDURE input_tbl_barang2
@nama_produk NVARCHAR (MAX),
@supplier NVARCHAR (MAX),
@quantity INT
AS
BEGIN 
	INSERT INTO tbl_barang VALUES (@nama_produk, @supplier, @quantity)
	INSERT INTO tbl_notifikasi_barang VALUES ('Produk Baru Dengan Nama ' + @nama_produk +' dan Penyuplai dari : ' + @supplier + ' Telah di input pada Tanggal : ' + CAST (GETDATE() AS NVARCHAR (MAX)))
END	
input_tbl_barang2 'Susu bendera', 'PT. ULTRA JAYA', 100
Apabila teman-teman sudahmenginput tbl_barang_2 yang ada di atas dan dibawah code END,  lalu teman-teman excute maka nanti akau muncul tulisan seperti dibawah ini di Message :
(1 row(s) affected)
(1 row(s) affected)

Apabila muncul kalimat di atas, maka program untuk input data telah dibuat. Coba teman-teman liat keseluruhan table didalam table barang dan table notifikasi, terjadi sesuatu bukan dengan code diatas?

Selanjutnya kita membuat code untuk update data. Teman-teman dapat lihat code nya di bawah ini :
 
-- CODING UPDATE BY STORE PROCEDURE
ALTER PROCEDURE tbl_barang_update
@nama_produk NVARCHAR (MAX),
@supplier NVARCHAR (MAX),
@quantity INT
AS
BEGIN
	DECLARE @quantity_lama AS INT
	SELECT  @quantity_lama = quantity FROM tbl_barang WHERE nama_produk = @nama_produk
	UPDATE  tbl_barang SET quantity = @quantity WHERE nama_produk = @nama_produk
	INSERT INTO tbl_notifikasi_barang VALUES ('Produk baru dengan nama barang ' + @nama_produk + ' Telah di rubah stok Quantity lama menjadi baru ' + CAST (@quantity AS NVARCHAR (MAX)) + ' pada tanggal : ' + CAST (GETDATE() AS NVARCHAR(MAX)))
END	
tbl_barang_update 'Susu Bendera', 'PT. Ultra JAYA', 1000
Coba teman-teman pahami sebentar, kita disana membuat 3 variabel, sama dengan code input data juga seperti itu ada 3 variabel. Lalu kita memasukan parameter nama_produk dan quantity ke fungsi yang ada di atas, teman-teman bisa lihat code nya. setelah itu teman-teman coba excute tbl_barng_update apabila di excute sama dengan perintah input, terdiri 2 inputan yang dimana saling berhubungan antar table barang dan tabel notifikasi. Menarik bukan?

Selanjutnya kita mencoba untuk membuat yeng delete nya teman-teman, code nya dapat teman-teman lihat dibawah ini:
 
ALTER PROCEDURE tbl_barang_delete 16
@ID INT
AS
BEGIN
	DELETE FROM tbl_barang WHERE id = @id
	INSERT INTO tbl_notifikasi_barang VALUES ('Produk dengan nama ' + CAST(@ID AS NVARCHAR (MAX)) + ' Telah di hapus pada tanggal ' + CAST (GETDATE()AS NVARCHAR(MAX)))
END	
-- delete ISI kolom
tbl_barang_delete 16

Disini kita mendelete dengar 1 parameter saja yaitu dengan variabel ID, dimana variabel ID ini agar dapat kita car sesuai dengan data yang akan di tampilkan. Setelah itu anda coba lakukan excute pada tbl_barang_delete 16, 16 disni adalah nilai ID pada suatu table, maka apa yang terjadi setelah anda Excute? :D keren, ternyata table notifikasi memberitahu bahwa table barang dengan ID 16 telah di delete pada tgl sekian, jam sekian.

Semoga tutorial ini dapat membantu teman-teman yang sedang belajar SQL Server 2008 R2, saya juga menyediakan file code nya untuk teman-teman agar bisa di edit kembali. DOWNLOAD

Saya haturkan terimakasih teman-teman yang telah visit, dan bergabung di blog kami.
Semoga kalian selalu dalam keadaan sehat.
Selamat Pagi

2 comments

Anonymous
March 26, 2018 at 1:43 AM

These are in fact impressive ideas in on the
topic of blogging. You have touched some pleasant points here.
Any way keep up wrinting.

Anonymous
March 28, 2018 at 3:11 AM

Good article! We will be linking to this great article on our website.
Keep up the good writing.

Post a Comment