Cara Menggunakan Trigger Pada Aplikasi MySQL Server Database

Baca Juga :
Trigger merupakan sebuah stored procedure yang disediakan pada aplikasi Database MySQL Server yang bertujuan untuk memudahkan user dalam pengaplikasiannya sebagai database server. Sedangkan trigger itu sendiri berisikan sebuah printah untuk memodifikasi sebuah data pada tabel yang pada umumnya perintah tersebut terdiri dari INSERT, UPDATE, DELETE sedangkan event yang digunakan dalam menjalankan sebuah trigger terdiri dari
BEFORE INSERT – dijalankan ketika data di masukan ke dalam table.
AFTER INSERT – dijalankan setelah data masuk ke dalam table.
BEFORE UPDATE – dijalankan sebelum proses update data.
AFTER UPDATE – dijalankan setelah proses proses update data.
BEFORE DELETE – dijalankan sebelum proses delete data.
AFTER DELETE – dijalankan setelah proses delete data.
Untuk uji coba bagaimana cara membuat trigger pada MySQL Server pertama kita siapkan 3 buah tabel terlebih dahulu.

Tabel Pertama : tblbeli

CREATE TABLE `tblbeli` (
  `IDBARANG` varchar(20) NOT NULL default '-',
  `NMBARANG` varchar(50) default '-',
  `JUMBRG` int(11) default '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED;

Tabel Kedua : tbljual

CREATE TABLE `tbljual` (
  `IDBARANG` varchar(20) NOT NULL default '-',
  `NMBARANG` varchar(20) default '-',
  `JUMBRG` int(11) default '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED;

Tabel Ketiga : tblstok

CREATE TABLE `tblstok` (
  `IDBARANG` varchar(20) NOT NULL default '-',
  `STOK` int(11) default '0',
  PRIMARY KEY  (`IDBARANG`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED;
Setelah 3 (tiga) tabel diatas dibuat dengan perintah SQL diatas. Alur logikanya ketika ada penginputan data pada tblbeli (pembelian barang dari suplier barang) secara otomatis stok akan bertambah pada tblstok dan jika penginputan data dilakukan pada tbljual (penjualan barang ke konsumen) maka jumlah stok pada tblstok akan berkurang.

1. Pembuatan Trigger trigger_beli

CREATE TRIGGER `trigger_beli` AFTER INSERT ON `tblbeli`
FOR EACH ROW
BEGIN
INSERT INTO tblstok SET
IDBARANG = NEW.IDBARANG, STOK=New.JUMBRG
ON DUPLICATE KEY UPDATE STOK=STOK+New.JUMBRG;
END;
Keterangan : Trigger diatas nama trigger_beli, dan trigger akan bekerja setelah diinputkan data pada tblbeli kemudian secara otomatis akan menambahkan stok barang ke tblstok sejumlah nilai jumlah barang pada tblbeli, jika data yang diinputkan melalui tblbarang telah ada pada tblstok maka jumlah stok akan ditambahkan dengan jumlah barang yang diinputkan.

Sekarang coba kita inputkan data pada tblbarang 
INSERT INTO `tblbeli` (`IDBARANG`, `NMBARANG`, `JUMBRG`) VALUES 
  ('4800361002851', 'Nestle Koko Krunch 170g', 20),
  ('4800888141125', 'axe darktemp 150ml', 11),
  ('4902430102247', 'head shoulders cool menthol', 60),
  ('4902430400947', 'pantene anti ketombe 135ml', 21),
  ('4902430453028', 'downy 780ml', 22),
  ('4902430504454', 'downy mystique sct20ml', 23),
  ('4902430516198', 'ambi pur 7,5ml', 25),
  ('4902430542753', 'downy passion', 5),
  ('4902430557122', 'downy sunrise fresh 22ml', 10),
  ('4902430557153', 'Downy Sekali Bilas Jumbo 22 ml', 7);
Sekarang coba kita cek tblbeli

Cara Menggunakan Trigger Pada Aplikasi MySQL Server Database

Tabel tblstok

Cara Menggunakan Trigger Pada Aplikasi MySQL Server Database

Sekarang admin akan menginputkan kembali pada tblbeli dengan kode barang 4902430453028, nama barang downy 780ml dan jumlah barang 3. Jadi nominal jumlah stok barang dengan idbarang 4902430453028 yang awal 22 ditambahkan 3 menjadi 25.
INSERT INTO `tblbeli` (`IDBARANG`, `NMBARANG`, `JUMBRG`) VALUES
('4902430453028', 'downy 780ml', 3);
Setelah dijalankan sql diatas kemudian kita cek pada tblstok, apakah nilai stok idbarang 
4902430453028, nama barang downy 780ml menjadi 25

Cara Menggunakan Trigger Pada Aplikasi MySQL Server Database
Stok barang dengan idbarang 4902430453028 menjadi 25, dengan kata lain trigger_beli yang kita dibuat diawal berhasil.

2. Pembuatan Trigger trigger_jual

CREATE TRIGGER `trigger_jual` AFTER INSERT ON `tbljual`
FOR EACH ROW
BEGIN
UPDATE tblstok SET STOK = STOK - NEW.JUMBRG
WHERE IDBARANG = NEW.IDBARANG;
END;
Keterangan : Ketika ada penginputan data pada tbljual maka secara otomatis stok pada tblstok akan berkurang sejumlah jumlah barang pada tbljual.

Sekarang admin akan mencoba menginputkan data pada tbljual untuk uji coba apakah trigger_jual berfungsi dengan baik atau tidak
INSERT INTO `tbljual` (`IDBARANG`, `NMBARANG`, `JUMBRG`) VALUES
('4902430453028', 'downy 780ml', 10);
Keterangan : Penginputan pada tbljual dengan asumsi penjualan barang ke konsumen dengan idbarang 4902430453028, nama barang downy 780ml, dan quantity barang 10, jadi yang semula stok barang 25 dikurangi 10 maka stok fisik akan menjadi 15.

Sekarang coba kita cek tblstok

Cara Menggunakan Trigger Pada Aplikasi MySQL Server Database


Stok barang dengan idbarang 4902430453028, nama barang downy 780ml menjadi 15 setelah dijalankan penginputan data pada tbljual. Sangat membantu bukan, dengan adanya fasilitas stored procedure trigger pada mysql server. semoga artikel Cara Menggunakan Trigger Pada Aplikasi MySQL Server Database ini dapat bermanfaat dan terima kasih banyak atas kunjungannya.

Subscribe untuk berlangganan artikel :

0 Response to "Cara Menggunakan Trigger Pada Aplikasi MySQL Server Database"

Post a Comment

1. Dilarang menjadikan referensi tanpa mencantumkan sumbernya
2. Berkomentar yang relevan sesuai artikel
3. Gunakan bahasa yang baik dan santun