Minggu, 18 Januari 2009

Membuat Procedure di MySQL

Kelanjutan dari tutorial sebelumnya selain Trigger di MySQL yang baru juga terdapat procedure. Pertama buat sebuah tabel di MySQL kamu.
Code :
CREATE
TABLE `tbl_stock` (
`kode` char(2) NOT NULL,
`nama` varchar(20) default NULL,
`jumlah` int(11) NOT NULL default '0',
`harga` double(15,3) NOT NULL default '0.000',
`total` double(15,3) default NULL,
PRIMARY KEY
(`kode`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8;

Pada kasus kali ini kita akan melakukan perhitungan di tbl_stock yaitu pada field total yang akan otomatis melakukan perkalian pada saat kita melakukan isi dan edit data. Pada procedure yang kita buat akan otomatis melakukan perhitungan dan mengetahui apakah data tersebut akan di Edit ada tambah data.
Code :
CREATE
PROCEDURE pr_isi_stock(IN kode_in char(2), IN nama_in VARCHAR(20), IN jumlah_in
INT, IN harga_in DOUBLE)
BEGIN
DECLARE ada INT;
SELECT COUNT(*) INTO ada from tbl_stock where kode=kode_in;
IF ada=0 then BEGIN
--Tambah baru
insert into tbl_stock values(kode_in,nama_in,jumlah_in,harga_in,(jumlah_in*harga_in));
END;
ELSE
--Edit data yang sudah ada
update tbl_stock set nama=nama_in, jumlah=jumlah_in,
harga=harga_in, total=jumlah_in*harga_in where kode=kode_in;
END IF;
END;

Untuk memanggil Procedure di atas dapat menggunakan perintah call nm_procedure
Procedure

1 komentar:

(¯`·._.·[_mbahsomo_]·._.·´¯) mengatakan...

Mas tulisan ini asalnya dari mana ya