"Om Swastiastu"
Trigger adalah prosedur tersimpan pada Microsoft SQL Server yang secara otomatis dijalankan apabila data di dalam tabel berubah karena eksekusi perintah SQL (INSERT, UPDATE atau DELETE).
Beberapa hal yang dapat dilakukan dengan Trigger adalah
- Mengupdate tabel-tabel lain jika ada perubahan (Insert, update atau delete) pada tabel yang sedang aktif.
- Untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis akan menyimpan ke tabel log.
- untuk melakukan validasi dan verifikasi data sebelum data tersebut disimpan.
CREATE TRIGGER name [BEFORE|AFTER] [INSERT|UPDATE|DELETE] ON tablename FOR EACH ROW statement
- name adalah Nama trigger mengikuti peraturan penamaan variabel dalam MySQL
- [BEFORE | AFTER] untuk menentukan kapan proses secara otomatis akan dieksekusi (sebelum atau sesudah proses).
- [INSERT | UPDATE | DELETE] untuk menentukan proses yang dijadikan trigger (pemicu) untuk menjalankan perintah-perintah di dalam triggers.
- tablename adalah nama tabel dimana trigger berada.
- statement adalah sekumpulan perintah atau query yang akan secara otomatis dijalankan jika proses yang didefinisikan sebelumnya aktif.
Pertama siapkan sebuah database dan tabel.
create database latian_trigger_ITProgrammer; create table ITProgrammer ( kode varchar(10) not null,nama varchar(25) not null, primary key (kode)) create table ITProgrammer2 ( kode varchar(10) not null,nama varchar(25) not null, primary key (kode)) create table trans ( kode varchar(10) not null, kodetrans varchar(10),jumlah double, primary key nkode (kode,kodetrans))Kemudian buat trigger seperti dibawah ini
create trigger auto_insert_ITProgrammer2 before insert on ITProgrammer for each row begin insert into ITProgrammer2 (kode,nama) values (NEW.kode,NEW.nama); end$$ create trigger auto_update_ITProgrammer2 before update on ITProgrammer for each row begin update ITProgrammer2 set nama=NEW.nama where kode=NEW.kode; end$$ create trigger auto_delete_ITProgrammer2 before delete on ITProgrammer for each row begin delete from ITProgrammer2 where kode=OLD.kode; delete from trans where kode=OLD.kode;untuk trigger tersebut apabila terjadi perubahan pada tabel ITProgrammer maka akan secara otomatis tabel ITProgrammer2 akan terpengaruh(ikut berubah). atau dengan cara lain yang lebih mudah kalian bisa menggunakan sintak JOIN seperti pada artikel "Update Table Dengan Data Dari Table Lain Pada SQL"
Bagaimana bingungkah kalian? sama, saya juga bingung saat pertama menggunakan Trigger dalam pembuatan database. Tapi dengan banyak latihan pasti akan cepat mengerti dan bisa memodifikasinya. Selamat mencoba dan Semoga bermanfaat. :)
"Om Santhi, Santhi, Santhi Om"
Terus diposting artikel terkait my SQL nya sob sangat bermanfaat ini. Salam blogging!
tolong donk post tentang md5, bagai mana cara meng enkript dan bagimana mendiskrip
Bermanfaat banget bos,
www.ilham-96.blogspot.com
berguna banget ni kebetulan aku lagi nyari trigger buat pembelian misal di tabel stok terdiri dari id_barang, nama_barang, stok_barang, harga_barang dan di tabel beli ada id_beli, nama_barang, jumlah, harga jadi klo misal kita insert di tabel beli maka secara otomatis stok_barang di tabel stok akan berkurang sejumlah jumlah dari tabel beli. ini kodingnya.
delimiter $
create trigger beli
before insert on beli for each row
begin
update stok set stok_barang=stok_barang-New.jumlah where nama_barang=New.nama_barang;
end$