Pengertian Trigger:
Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel.
Fungsi:
1. Melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam sistem penjualan, jika dientri barang baru maka stock akan bertambah secara otomatis.
2. Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis akan menyimpan ke tabel log.
3. Trigger dapat digunakan untuk melakukan validasi dan verifikasi data sebelum data tersebut disimpan.
Sintaks:
CREATE TRIGGER name
[BEFORE|AFTER] [INSERT|UPDATE|DELETE]
ON tablename
FOR EACH ROW statement
dimana:
BEFORE | AFTER digunakan untuk menentukan kapan proses secara otomatis akan dieksekusi, sebelum atau sesudah proses.
INSERT | UPDATE | DELETE digunakan untuk menentukan event yang dijadikan trigger untuk menjalankan perintah-perintah di dalam triggers.
Jika terdapat beberapa perintah dalam trigger, maka gunakan perintah BEGIN dan END untuk mengawali dan mengakhiri perintah.
Di dalam statement trigger, kita dapat mengakses record tabel sebelum atau sesudah proses dengan menggunakan NEW dan OLD.
NEW digunakan untuk mengambil record yang akan diproses (insert atau update),
sedangkan OLD digunakan untuk mengakses record yang sudah diproses (update atau delete).
Contoh Proses Penggunaan Trigger:
1. Buat database smk
mysql > create database smk;
2. Menggunakan database smk
mysql > use smk;
3. Membuat tabel siswa
mysql > create table siswa (nis char(4), nama varchar(25), alamat varchar(25), jurusan char(3),primary key(nis));
4. Membuat tabel log_siswa
mysql > create table log_siswa (kejadian varchar(25), waktu datetime);
5. Memasukkan data ke tabel siswa
mysql > insert into siswa values(‘1001’,’Adam’,’Cinere’,’RPL’), (‘1002’,’Bayu’,’Depok’,’MM’);
6. Menampilkan data tabel siswa
mysql > select * from siswa;
7. Membuat trigger
mysql > create trigger inp_siswa after insert on siswa for each row insert into log_siswa values(‘Tambah Data’,now());
8. Memasukkan data baru ke tabel siswa
mysql > insert into siswa values(‘1003’,’Chica’,’Pasar Minggu’,’MM’);
9. Melihat hasil trigger di tabel log_siswa
mysql > select * from log_siswa;
10. Melihat berapa banyak trigger yang telah dibuat
mysql > show triggers;
Tugas:
Buat sebuah trigger update dan delete, tampilkan hasilnya, serta tampilkan banyaknya trigger yang dibuat!
21.56
Sis Share


0 komentar:
Posting Komentar