WHAT'S NEW?
Loading...

Trigger - Membuat Histori Perubahan dengan Trigger



Trigger adalah blok PL/SQL atau prosedur yang berhubungan dengan table, view, skema atau database yang dijalankan secara implicit pada saat terjadi sebuah event.Trigger merupakan store procedure yang dijalankan secara automatis saat user melakukan modifikasi data pada tabel.

Nah, kali ini gua akan membagikan sebuah query trigger, yang mana jika terdapat suatu table, dan value dari table tersebut diubah maka value sebelumnya dari table tersebut akan tersimpan ke dalam table histori/riwayat.


Buatlah 2 buah table


1. Table utama




CREATE TABLE IF NOT EXISTS asisten
(
    kd_ass CHAR(10) NOT NULL,
    PRIMARY KEY(kd_ass),
    honor FLOAT
);



2. Table histori




CREATE TABLE IF NOT EXISTS h_assiten_XXX
(
    kd_ass CHAR(10) NOT NULL,
    honor FLOAT,
    tgl_update DATETIME
);


3. Triggernya



CREATE OR REPLACE TRIGGER histori
  AFTER UPDATE ON asisten
  FOR EACH ROW
BEGIN
INSERT INTO h_asisten_XXX SET honor = OLD.honor,
kd_ass = OLD.kd_ass,
tgl_update = CURRENT_TIMESTAMP;
END


Kalau gak bisa pake cara di atas, entah kenapa ga bisanya juga, silahkan menuju ke menu Trigger pada navbar di phpmyadmin (disitu nanti ada Trigger), lalu disitu nanti ada link "Add Trigger", di klik saja, lalu ikuti seperti gambar berikut :





Sedikit penjelasan

- Trigger name itu adalah nama trigger yang akan kita buat
- Table itu table sumber dari trigger yang akan kita buat
- Time sama Event, anggep aja itu sebagai action

Jadi, Setelah mengUpdate table Asisten, maka lakukan perintah yang terdapat di Event


Yak, segitu aja, semoga bermanfaat :)

0 comments:

Post a Comment