Gambar 1. Letak Menu Trigger |
Salah satu fitur yang ada dalam Aplikasi Database dengan menggunakan MySQL/phpMyAdmin adalah Trigger. Trigger bisa diartikan sebagai action/aksi atau Picuan yang membuat sebuah tabel atau kolom bereaksi (misalnya Terupdate) secara otomatis. Dalam MySQL, Trigger berguna untuk action yang akan dilakukan oleh engine MySQL yang waktunya bisa saat SEBELUM/BEFORE dan SETELAH/AFTER.
Perhatikan gambar dibawah dan penjelasannya dalam membuat Trigger di phpMyAdmin.
Gambar 2. Jendela Trigger |
- Trigger Name, silahkan isi dengan nama trigger yang akan dibuat. Dalam penamaan nama trigger jangan menggunakan spasi.
- Table, diisian ini kita pilih nama tabel yang menjadi picuan bukan nama tabel sebagai akibat diberikan trigger. misalnya saya contohkan disini ada 3 tabel, yaitu barang, beli dan jual. nah, misalnya kita akan membuat trigger agar kolom stok di tabel barang akan secara otomatis terupdate ketika ada insert data baru di tabel beli. maka, dalam kasus ini isian Table di jendela diatas adalah pilih tabelnya yaitu Tabel beli.....AWAS bukan tabel Barang.
- Time, untuk isian Time ini, silahkan pilih apakah trigger dijalankan Sebelum atau Sesudah. BEFORE berarti Trigger diaktivasi sesaat sebelum event yang dipilih dijalankan, dan AFTER berarti Trigger diaktivasi sesaat setelah event yang dipilih dijalankan. jika yang di pilih BEFORE dan eventnya INSERT, maka Trigger akan diaktivasi sesaat Sebelum Data di tambahkan.
- Event, adalah kejadian yang dipilih apakah INSERT, UPDATE atau DELETE.
Contoh Trigger untuk pengelolaan Stok Barang.
disini ada 3 tabel, yaitu barang, beli dan jual.
nah, trigger yang akan kita buat adalah:
Gambar 3. Struktur Tabel Barang |
Gambar 4. Struktur Tabel Beli |
Gambar 5. Struktur Tabel Jual |
nah, trigger yang akan kita buat adalah:
- Trigger dengan nama trg_updatestok_ketika_tambahbeli
- Trigger dengan nama trg_updatestok_ketika_tambahjual
- Trigger dengan nama trg_updatestok_ketika_hapusbeli
- Trigger dengan nama trg_updatestok_ketika_hapusjual
Berikut cara pembuatannya.
Langkah pertama
isi terlebih dahulu data ke tabel barang, misalnya 3 record data seperti berikut
Langkah kedua
Buat Trigger nomor 1.
caranya:
Pilih nama database db_stokbarang, kemudian pilih menu Trigger, kemudian klik add Trigger, maka akan tampir gambar berikut
kemudian isikan datanya seperti berikut
BEGIN
UPDATE barang set stok=stok+new.jumlah WHERE kodebrg=new.kodebrg;
END
Kemudian Klik Go.
Uji Coba Trigger 1
Masukkan data di tabel beli misalnya
Buat Trigger nomor 3.
caranya:
Pilih nama database db_stokbarang, kemudian pilih menu Trigger, kemudian klik add Trigger, maka akan tampir gambar berikut
kemudian isikan datanya seperti berikut
BEGIN
UPDATE barang set stok=stok-old.jumlah WHERE kodebrg=old.kodebrg;
END
Kemudian Klik Go.
Silahkan lakukan Uji Coba dengan melakukan Penghapusan di record data tabel Beli.
maka, jika record berhasil dihapus maka kolom stok di tabel Barang juga akan menjadi 0 kembali.
Sekian
0 comments:
Post a Comment