Membuat Trigger Mysql Menggunakan Navicat dan phpMyAdmin


Assalamu'alaikum Wr Wb ....
Selamat jumpa kembali pemirsa, kali ini saya akan share cara membuat trigger mysql menggunakan Navicat dan phpMyAdmin, pembuatan trigger disini bertujuan sebagai history apa yang terjadi pada table yang kita ambil. Disini saya akan membuat trigger INSERT, UPDATE dan DELETE.

Langsung aja ke gambar ...



1. Buat terlebih dahulu table sebagai penampung history. disini saya contohkan tbAuditNilaiMhs.

2. Pilih table sebagai source / sumber kemudian pilih tab Triggers. Saya membuat BEFORE INSERT. Buat seperti contoh di bawah

BEGIN
DECLARE vUser varchar(50);
SELECT USER() INTO vUser;
INSERT INTO tbAuditNilaiMhs (tglupdate,thak,nim,kode_mk,nilai,users,aksi) VALUES (SYSDATE(),NEW.thak,NEW.nim,NEW.kdmk,NEW.nilaiuas,concat(vUser,":",NEW.userid,":",NEW.userid_update),"INSERT");
END

3. Dilanjutkan BEFORE UPDATE


BEGIN
DECLARE vUser varchar(50);
SELECT USER() INTO vUser;
INSERT INTO tbAuditNilaiMhs (tglupdate,thak,nim,kode_mk,nilai,nilai_baru,users,aksi) VALUES (SYSDATE(),OLD.thak,OLD.nim,OLD.kdmk,OLD.nilaiuas,NEW.nilaiuas,concat(vUser,":",OLD.userid,":",OLD.userid_update),"UPDATE");
END
4. Dilanjutkan BEFORE DELETE.

BEGIN
DECLARE vUser varchar(50);
SELECT USER() INTO vUser;
INSERT INTO tbAuditNilaiMhs (tglupdate,thak,nim,kode_mk,nilai,users,aksi) VALUES (SYSDATE(),OLD.thak,OLD.nim,OLD.kdmk,OLD.nilaiuas,concat(vUser,":",OLD.userid,":",OLD.userid_update),"DELETE");
END
Kemudian saya akan mencotohkan pada phpMyAdmin
1. Pilih Menu SQL ketikan pada kolom SQL dan ganti Delimiter menjadi //.
    BEFORE INSERT

DROP TRIGGER IF EXISTS `tri_insert_nilai_mhs`//
CREATE TRIGGER `tri_insert_nilai_mhs` BEFORE INSERT ON `msfrs`
 FOR EACH ROW BEGIN
DECLARE vUser varchar(50);
SELECT USER() INTO vUser;
INSERT INTO tbAuditNilaiMhs (tglupdate,thak,nim,kode_mk,nilai,users,aksi) VALUES (SYSDATE(),NEW.thak,NEW.nim,NEW.kdmk,NEW.nilaiuas,concat(vUser,":",NEW.userid,":",NEW.userid_update),"INSERT");
END
//

2. Dilanjutkan BEFORE UPDATE

DROP TRIGGER IF EXISTS `tri_update_nilai_mhs`//
CREATE TRIGGER `tri_update_nilai_mhs` BEFORE UPDATE ON `msfrs`
 FOR EACH ROW BEGIN
DECLARE vUser varchar(50);
SELECT USER() INTO vUser;
INSERT INTO tbAuditNilaiMhs (tglupdate,thak,nim,kode_mk,nilai,nilai_baru,users,aksi) VALUES (SYSDATE(),OLD.thak,OLD.nim,OLD.kdmk,OLD.nilaiuas,NEW.nilaiuas,concat(vUser,":",OLD.userid,":",OLD.userid_update),"UPDATE");
END
//
3. Dilanjutkan BEFORE DELETE

DROP TRIGGER IF EXISTS `tri_delete_nilai_mhs`//
CREATE TRIGGER `tri_delete_nilai_mhs` BEFORE DELETE ON `msfrs`
 FOR EACH ROW BEGIN
DECLARE vUser varchar(50);
SELECT USER() INTO vUser;
INSERT INTO tbAuditNilaiMhs (tglupdate,thak,nim,kode_mk,nilai,users,aksi) VALUES (SYSDATE(),OLD.thak,OLD.nim,OLD.kdmk,OLD.nilaiuas,concat(vUser,":",OLD.userid,":",OLD.userid_update),"DELETE");
END
//


Sekian pemirsah semoga bermanfaat terima kasih.







Komentar

Posting Komentar