Membuat Trigger pada Database MySQL menggunakan phpmyadmin

Trigger merupakan serangkaian perintah yang akan secara otomatis dieksekusi ketika terjadi perubahan terhadap suatu data pada tabel. Trigger dieksekusi karena terjadi peristiwa insert, update, atau delete terhadap suatu data pada tabel.

Skenarionya saya memiliki database toko yang memiliki 3 tabel, yaitu barang, beli dan jual

database toko

tabel barang memiliki 3 field yaitu kode, barang dan jumlah. Untuk bembuatnya lihat gambar dibawah ini.

KeyFieldTypeLenght
PrimaryKodevarchar15
BarangVarchar50
JumlahInteger6

tabel beli juga memiliki 3 field yaitu kode, barang dan jumlah. Untuk bembuatnya lihat gambar dibawah ini

tabel jual

dan tabel beli buat seperti tabel jual. Saya yakin kalian bisa membuatnya, langkah selanjutnya adalah mengisi data barang, data barang tersebut akan saya gunakan sebagai data master, yang memcatat jumlah barang yang ada pada database toko. Sebagai contoh saya akan membuat 3 brang dengan jumlah 0.

KodeBarangJumlah
BRG_1Barang 10
BRG_2Barang 20
BRG_3Barang 30

Skenario berikutnya adalah jika saya mengisi data pada tabel beli maka jumlah barang pada tabel barang akan bertambah begitu pula jika saya mengisi tabel jual maka jumlah barang pada tabel barang akan mengurang. Saya akan memulai membuat trigger beli. Ikuti langkah berikut

halaman trigger phpmyadmin

pilih add trigger dan modal add trigger akan tampil.

modal add trigger beli

Isikan seperti gambar.

trigger name barang_after_beli
table beli
time after
event insert

pada definition, isikan kode sql update barang,

UPDATE barang  
SET 
  jumlah = jumlah+NEW.jumlah
WHERE 
  kode = NEW.barang;

perhatikan kode diatas pada baris 3 jumlah=jumlah+NEW.jumlah field jumlah pada tabel barang akan diubah menjadi jumlah pada field barang di tabahkan dengan jumlah pada field beli yang baru di insert berdasarkan kode = NEW.barang. Dan untuk proses penjualan lihat gambar berikut.

modal trigger jual

Untuk trigger jual ikuti isian add trigger berikut

trigger name barang_after_jual
table jual
time after
event insert
UPDATE barang
SET
  jumlah = jumlah-NEW.jumlah
WHERE
  kode = NEW.barang;

perbedaan kode terletak pada baris 3 jumlah=jumlah-NEW.jumlah field jumlah pada tabel barang akan diubah menjadi jumlah tabahkan dengan jumlah pada field jual yang baru di insert

Dan saya telah memiliki 2 buah trigger, yaitu trigger barang_after_beli dan barang_after_jual, pada tahap ini kalian sudah dapat mengujinya dengan mengisi data pada tabel beli dan jual.

trigger

Sebagai conto masukkan data berikut pada tabel beli, dan tekan go. Lihat pada tabel barang data barang dengan kode BRG_1 telah bertambah.

Proses Insert data

tekan go dan record transaksi akan bertambah begitu juga dengan data pada tabel barang akan terupdate

record transaksi pada tabel beli
tabel barang telah berubah

Penjelasan saya cukup sampai disini, silahkan kalian melakukan ekperimen sendiri seperti jika data terupde maka kode yang dijalankan seperti bagaimana begitupun jika datanya terhapus.

atau kalian dapat mengunjungi alamat ini dilain waktu karena saya berencana melampirkan file contoh pembuatan trigger.

Tinggalkan komentar