2013-08-22 33 views
0

作爲一個完整的新手到這一點,我想我可能能夠通過只是在尋求幫助,去拯救我自己有很多頭痛的...觸發語法錯誤1064,使用IF/THEN和日期

當我嘗試運行此我得到一個錯誤1064:您有一個錯誤的SQL語法...

CREATE TRIGGER payroll_lock之前刪除或插入或 UPDATE ON timesheet_entry FOR EACH ROW IF ENTRY_DATE <「2013年7月-25' then raise_application_error(-20001,'Can not modify old records。');

如果記錄在給定的固定日期之前,我還會考慮停止插入/更新/刪除的其他選項。

感謝任何幫助解決這個問題!並感謝解釋,我不知道在這個特定的領域。

回答

0

您應該在raise_application_error之前CALL關鍵字功能。 另一個提示是你應該使用NEWOLD關鍵字更新觸發器。

我不確定,但我不認爲你可以創建多個觸發器在同一個命令與OR(這是我第一次看到這一點)。

DELIMITER // 
CREATE TRIGGER payroll_lock BEFORE UPDATE ON wp_links 
    FOR EACH ROW 
     BEGIN 
     IF NEW.entry_date < '2013-07-25' THEN 
     CALL raise_application_error(-20001, 'Cannot modify old records.'); 
     END IF; 
     END//