0

作为一个完全的新手,我想我可以通过寻求帮助来为自己省去很多头痛......

当我尝试运行此程序时,我收到错误 1064:您的 SQL 语法有错误...

CREATE TRIGGER payroll_lock BEFORE DELETE OR INSERT or UPDATE ON timesheet_entry FOR EACH ROW IF entry_date < '2013-07-25' THEN raise_application_error(-20001, 'Cannot modify old records.');

如果记录在给定的固定日期之前,我还会考虑停止插入/更新/删除的其他选项。

感谢您在解决此问题方面的任何帮助!感谢您的解释,我在这个特定领域知之甚少。

4

1 回答 1

0

您应该在功能CALL之前使用关键字raise_application_error。另一个提示是您应该使用NEWorOLD关键字作为更新触发器。

我不确定,但我认为您不能使用 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//
于 2013-08-22T22:26:45.517 回答