Tutorial MySQL ini menjelaskan Cara Membuat Trigger MySQL AFTER DELETE dengan sintaks dan contoh.
Deskripsi
Syntax
Syntax untuk membuat Trigger MySQL AFTER DELETE adalah
1 2 3 4 5 6 7 8 9 10 11 |
CREATE TRIGGER trigger_name AFTER DELETE ON table_name FOR EACH ROW BEGIN -- variable declarations -- trigger code END; |
Penjelasan Parameter
trigger_name
Nama pemicu untuk yang akan dibuat
AFTER DELETE
Ini menunjukkan bahwa pemicu akan berfungsi setelah operasi DELETE dijalankan.
table_name
Nama tabel yang memicu pemicunya.
Pembatasan
- Tidak dapat membuat Trigger pada suatu tampilan atau on a view
- Tidak dapat memperbarui nilai NEW.
- Tidak dapat memperbarui nilai OLD.
Contoh
Mari kita lihat contoh bagaimana Membuat Trigger MySQL AFTER DELETE menggunakan pernyataan CREATE TRIGGER di MySQL.
Jika teman-teman memiliki tabel yang dibuat sebagai berikut:
1 2 3 4 5 6 7 8 9 |
CREATE TABLE contacts ( contact_id INT(11) NOT NULL AUTO_INCREMENT, last_name VARCHAR(30) NOT NULL, first_name VARCHAR(25), birthday DATE, created_date DATE, created_by VARCHAR(30), CONSTRAINT contacts_pk PRIMARY KEY (contact_id) ); |
Kita kemudian bisa menggunakan pernyataan CREATE TRIGGER untuk Membuat Trigger MySQL AFTER DELETE sebagai berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
DELIMITER // CREATE TRIGGER contacts_after_delete AFTER DELETE ON contacts FOR EACH ROW BEGIN DECLARE vUser varchar(50); -- Find username of person performing the DELETE into table SELECT USER() INTO vUser; -- Insert record into audit table INSERT INTO contacts_audit ( contact_id, deleted_date, deleted_by) VALUES ( OLD.contact_id, SYSDATE(), vUser ); END; // DELIMITER ; |