Pembuatan Triger Insert, Update MySQL Server

Fasilitas Triger pada MySQL Database Server tentunya sudah tidak asing lagi ditelinga kita dengan adanya fasilitas Triger ini sangat membantu para programmer dalam membangun sistem dengan menggunakan database MySQL Database Server. Kali ini admin akan sedikit share tentang cara Pembuatan Triger Insert, Update MySQL Database Server. Buat database terlebih dahulu

CREATE DATABASE `BelajarTriger`
CHARACTER SET 'latin1'

COLLATE 'latin1_swedish_ci';

Database yang admin buat BelajarTriger selanjutnya diteruskan dengan pembuatan tabel-tabelnya diantaranya barang, stok, penjualan

CREATE TABLE `barang` (
  `IDBARANG` varchar(16) DEFAULT NULL,
  `NMBARANG` varchar(50) DEFAULT NULL,
  `JUMBRG` int(11) DEFAULT NULL,
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `ID` (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

CREATE TABLE `penjualan` (
  `IDBARANG` varchar(16) DEFAULT NULL,
  `JUMBRG` int(11) DEFAULT NULL,
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `ID` (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

CREATE TABLE `stok` (
  `IDBARANG` varchar(20) NOT NULL,
  `NMBARANG` varchar(50) DEFAULT NULL,
  `JUMBRG` int(11) DEFAULT NULL,
  PRIMARY KEY (`IDBARANG`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Pembuatan database dan tabel-tabel pun telah selesai, sekarang coba kita membuat triger pada tabel barang terlebih dahulu fasilitas yang diberikan oleh MySQL Server terutama untuk pembuatan triger 

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

Tinggal yang mana akan dipilih sesuai dengan keadaan dari struktur database yang agan-agan buat, pertama kita buat terlebih dahulu triger ditabel barang untuk scriptnya seperti dibawah ini

CREATE TRIGGER `barang_after_ins_tr` AFTER INSERT ON `barang`
FOR EACH ROW
BEGIN
INSERT INTO stok SET  idbarang = NEW.idbarang, JUMBRG=New.JUMBRG,NMBARANG=new.NMBARANG
ON DUPLICATE KEY UPDATE JUMBRG=JUMBRG+New.JUMBRG;

END;

Pengertian dari script triger diatas adalah pada saat tabel barang diinputkan data, maka secara otomatis triger pun bekerja dan mencari data pada tabel stok, jika didapati data dengan kode idbarang belum ada, maka data tersebut berupa input data baru pada tabel stok, akan tetapi jika data sudah ada ditabel stok untuk jumbrg akan ditambahkan secara otomatis sesuai dengan jumbrg yang ada pada tabel barang. Selanjutnya kita buat kembali triger pada tabel penjualan dengan script dibawah ini

CREATE TRIGGER `penjualan_after_upd_tr` AFTER INSERT ON `penjualan`
FOR EACH ROW
BEGIN
UPDATE stok SET jumbrg = jumbrg - NEW.jumbrg WHERE
idbarang = NEW.idbarang;
END;

Untuk pengertian script pada tabel penjualan kali ini, berfungsi sebagai pengurangan stok, untuk tabel penjualan kita asumsikan sebagai barang yang keluar secara otomatis stok yang ada terkurang sejumlah barang yang keluar tersebut. 

Inputkan beberapa data pada tabel barang kemudian buka tabel stok dan perhatikan jumbrg dari masing-masing tabel yaitu tabel barang dan stok, jumlah barang yang masuk pada tabel barang akan sama jika didalam tabel stok belum ada barang yang sama diinputkan pada tabel barang.

Script / Perintah Pembuatan Triger Insert, Update MySQL Server

Untuk tabel stok diatas jumbrg sama dengan jumbrg tabel barang yang diinputkan, sekarang admin akan inputkan kembali ditabel barang dengan salah satu idbarang yang sama dengan jumbrg yang berbeda untuk kode barang : 0001 jumbrg awal : 20 dan admin inputkan untuk jumbrg : 7

Script / Perintah Pembuatan Triger Insert, Update MySQL Server

Coba perhatikan kotak merah transparant, nominal jumbrg pada tabel stok secara otomatis penjualan dari tabel barang per kode barang. Begitu juga pada tabel penjualan, sekarang admin akan mencoba inputkan data dengan kode barang 0001 dan jumbrg 7, seharusnya sisa stok nanti akan menjadi 27 - 7 = 20

Script / Perintah Pembuatan Triger Insert, Update MySQL Server

Sangat mudah dan complek bukan peran fasilitas triger yang terdapat pada MySQL Database Server. Semoga artikel kali ini bermanfaat bagi yang membacanya

Related

MySQL Server 974559264398954826

Post a Comment

Perhatian !!
- Berkomentarlah dengan menggunakan bahasa yang baik dan sopan dan sesuai topik pembahasan
- Dilarang menjadikan referensi artikel web ini tanpa menyertakan sumbernya

emo-but-icon

Terbaru

Random Artikel

Memuat...

Contact Us

Name

Email *

Message *

item