Agar klien MySQL Anda tidak menafsirkan ;
yang mengakhiri INSERT
pernyataan sebagai akhir dari CREATE TRIGGER
pernyataan, Anda harus menginformasikannya bahwa Anda ingin menggunakan beberapa pembatas pernyataan lainnya.
Di mysql
klien baris perintah, Anda dapat melakukannya dengan DELIMITER
perintah
. Misalnya, untuk mengubah pembatas pernyataan Anda menjadi titik koma ganda:
DELIMITER ;;
Kemudian Anda dapat melakukan:
CREATE TRIGGER LOG_UPDATE BEFORE UPDATE ON WORKLOG FOR EACH ROW BEGIN
INSERT INTO WORKLOG_BACKUP VALUES (
NULL,
CURRENT_TIMESTAMP,
NEW.LOGNO,
NEW.JOBNO,
NEW.EMPLOYEENO,
NEW.WORKDATE,
NEW.WORKTIME,
'UPDATE'
);
END;;
Namun, karena dalam kasus ini pemicu Anda hanya berisi satu pernyataan, Anda tidak perlu menggunakan BEGIN ... END
blok pernyataan majemuk
dan karenanya dapat menghindari perubahan pembatas sama sekali:
CREATE TRIGGER LOG_UPDATE BEFORE UPDATE ON WORKLOG FOR EACH ROW
INSERT INTO WORKLOG_BACKUP VALUES (
NULL,
CURRENT_TIMESTAMP,
NEW.LOGNO,
NEW.JOBNO,
NEW.EMPLOYEENO,
NEW.WORKDATE,
NEW.WORKTIME,
'UPDATE'
)
;