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

tabel barang memiliki 3 field yaitu kode, barang dan jumlah. Untuk bembuatnya lihat gambar dibawah ini.
Key | Field | Type | Lenght |
Primary | Kode | varchar | 15 |
Barang | Varchar | 50 | |
Jumlah | Integer | 6 |
tabel beli juga memiliki 3 field yaitu kode, barang dan jumlah. Untuk bembuatnya lihat gambar dibawah ini

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.
Kode | Barang | Jumlah |
BRG_1 | Barang 1 | 0 |
BRG_2 | Barang 2 | 0 |
BRG_3 | Barang 3 | 0 |
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

pilih add trigger dan modal add trigger akan tampil.

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.

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.

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

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


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.