Dalam UPDATE TRIGGER
, Anda dapat menggunakan kode OLD
kata kunci untuk mengakses data baris yang digantikan oleh pembaruan. NEW
kata kunci memungkinkan mengakses data baris masuk yang akan menggantikan baris lama, jika berhasil.
Contoh UPDATE
pemicunya adalah:
CREATE TRIGGER upd_check AFTER UPDATE ON SomeTable
FOR EACH ROW
BEGIN
IF (OLD.LastChangedBy <> NEW.LastChangedBy) THEN
INSERT INTO AuditSomeTable(ID, LastChangedBy)
VALUES (OLD.ID, OLD.LastChangedBy);
END IF;
END;
SQLFiddle di sini
Bergantung pada jenis pemicu yang dibuat, OLD
dan NEW
baris mungkin tidak tersedia untuk Anda:
MASUKKAN PEMICU
- Akses ke
NEW
baris semu saja.
PERBARUI PEMICU
- Akses ke
NEW
danOLD
baris semu
HAPUS PEMICU
- Akses hanya ke
OLD
baris semu
yaitu tidak ada OLD
baris pada INSERT
pemicu, dan tidak ada NEW
baris pada DELETE
pemicu.
Pertanyaan OP
OP belum memberikan kode yang sebenarnya, dan pesan kesalahan yang dimaksud dalam komentar:
menunjukkan bahwa OP secara tidak sengaja telah membuat INSERT TRIGGER
dan bukan UPDATE TRIGGER
seperti yang ditunjukkan dalam pertanyaan. Sebuah INSERT
pemicu tidak memiliki OLD
tabel semu.