Basis Data

Create Trigger dengan MySQL 5

Trigger merupakan nama dari object database yang dikaitkan dengan sebuah tabel dan diaktifkan ketika terjadi sebuah even terhadap tabel. Database event tersebut adalah proses insert, update, dan delete.
Trigger akan secara otomatis dijalankan ketika suatu event/aksi berlangsung pada database.
Trigger tidak dapat langsung dieksekusi seperti Store procedure, tidak memiliki parameter dan return code.

Sintaks untuk trigger:

CREATE [DEFINER = { user | CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt

trigger_time : BEFORE atau AFTER
trigger_event : INSERT, UPDATE, DELETE

Contoh trigger untuk proses insert
Pertama create table berikut


 CREATE TABLE test1(a1 INT);
 CREATE TABLE test2(a2 INT);

Kemudian create trigger

 DELIMITER //
 CREATE TRIGGER testref BEFORE INSERT ON test1
 FOR EACH ROW BEGIN
 INSERT INTO test2 SET a2 = NEW.a1;
 END;
 //DELIMITER;

Coba lakukan proses insert

INSERT INTO test1 values (1),(2),(3);
 SELECT * FROM test1;
 SELECT * FROM test2;

contoh trigger untuk proses update

DELIMITER //

create trigger update_coba AFTER UPDATE ON test1
FOR EACH ROW BEGIN
UPDATE test2 set a2=new.a1 where a2=3;
END;
//DELIMITER;

UPDATE test1 set a1=4 where a1=3;
SELECT * FROM test1;
SELECT * FROM test2;

contoh trigger untuk proses delete

DELIMITER //
 CREATE TRIGGER delete_coba AFTER DELETE ON test1
 FOR EACH ROW BEGIN
 DELETE FROM test2 where a2=1 ;
 END;
 //DELIMITER;

DELETE FROM test1 where a1=2;
 SELECT * FROM test1;
 SELECT * FROM test2;

Iklan

10 tanggapan untuk “Create Trigger dengan MySQL 5”

  1. @ki ponco:
    kalo trigger itu diaktifkan ketika terjadi sebuah even terhadap tabel, jadi kalo triggernya dibuat untuk BEFORE UPDATE maka triggernya hanya dieksekusi jika terjadi proses update pada tabel.
    Sedangkan function dipanggil secara langsung dalam query

  2. wah, salam kenal yah. makasih buat tutorialnya. btw, sbelumnya masih bingung masalah sintaks trigger di mysql, sp stelah baca tulisan ini jadi lebih ngerti dikit πŸ™‚

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s