缺失 BEFORE, AFTER 或 INSTEAD OF 关键字
时间: 2023-12-07 13:03:48 浏览: 125
非常抱歉,我的回答有误。在触发器中,确实需要使用“BEFORE”、“AFTER”或“INSTEAD OF”关键字来指定触发时机。以下是一个更正后的代码示例,它将在每天8:00-17:00之外禁止对employees表进行DML操作:
```
CREATE OR REPLACE TRIGGER limit_dml_employees
BEFORE INSERT OR UPDATE OR DELETE ON employees
DECLARE
v_hour NUMBER;
BEGIN
v_hour := TO_NUMBER(TO_CHAR(SYSDATE, 'HH24'));
IF v_hour < 8 OR v_hour >= 17 THEN
RAISE_APPLICATION_ERROR(-20001, 'DML operations are not allowed outside of 8:00-17:00.');
END IF;
END;
/
```
在这个触发器中,我们使用了“BEFORE”关键字来指定触发时机,使得在DML操作执行之前就能进行时间限制的判断。再次感谢您指出我的错误,希望这次的回答更为准确。
阅读全文