Disclaimer: Sebelumnya mohon maaf kepada para suhu dan master di dunia perkodingan dan per-IT-an, hanya sekedar berbagi ilmu yang awam dan nubi 😀
Siapapun yang pernah berurusan (baca: mengolah) dengan database pasti mengenal yang namanya SQL, bahasa yang sudah jamak digunakan dalam pengolahan database. Salah satu cabang pembantu dalam SQL ini adalah trigger. Suatu proses yang otomatis terjadi apabila kondisinya memungkinkan. Umumnya trigger ini digunakan oleh database kelas kakap seperti Oracle, namun tidak sedikit juga bahasa yang agak lebih “rendah” “ringan” seperti MySql memanfaatkan fitur ini.
Seperti kita ketahui bersama, GUI (Graphical User Interface) yang digunakan untuk berinteraksi dengan MySql umumnya adalah PhpMyAdmin, yang sayangnya tidak belum dilengkapi dengan fitur untuk membuat, mengolah, maupun menghapus trigger. Namun kita tetap dapat melakukannya dengan perintah SQL. Sebagai contoh, misalkan kita mempunyai:
- Tabel mahasiswa dengan field id_mhs, nama_mhs dan nama_ayah.
- Tabel ikoma dengan field id_ikoma, id_mhs dan nama_anggota
Agar nama ayah otomatis di-insert saat melakukan entri mahasiswa dan di-delete saat melakukan penghapusan data mahasiswa, maka yang perlu dieksekusi adalah sintaks SQL berikut:
create trigger oto_entri after insert on mahasiswa for each row begin insert into ikoma(id_mhs,nama_anggota) values(new.id_mhs,new.nama_ayah)
sebaliknya untuk men-delete secara otomatis data ikoma saat data mahasiswa didelete cukup eksekusi sintaks berikut:
create trigger oto_delete after delete on mahasiswa for each row begin delete from ikoma where id_mhs=old.id_mhs
kemudian untuk melihat daftar trigger yang sudah kita buat untuk suatu database, pada tab SQL PhpMyAdmin cukup ketikkan
show triggers
sekian ilmu yang amat sangat nubi, semoga bermanfaat ^^
*inspirasi didapat dari arahan dan petunjuk kanjeng Amir*
*sintaks diatas dicoba pada PhpMyAdmin, tidak menutup kemungkinan bisa dieksekusi pada database lain dan vice versa 😛 *