在更新触发器失败之前阻止oracle停止更新表

时间:2017-02-20 03:04:42

标签: sql oracle

如果您在表上更新触发器之前创建并且此触发器由于任何原因而失败,则在您修复或删除触发器之前用户无法更新表。那么有什么方法可以防止这种情况发生?我的意思是如果你在编写触发器时犯了一个错误,并希望继续更新

1 个答案:

答案 0 :(得分:0)

如果问题是您可能创建了无效的触发器,那么您应该在禁用状态下创建触发器。然后,您可以在启用它之前确认它是否正确编译。

它对运行时错误没有帮助。

如果要替换现有触发器,新代码仍将替换旧代码,仍将被禁用。如果依靠触发器代码来设置强制值,则会导致运行时错误。

CREATE OR REPLACE TRIGGER TEST_TRIG
BEFORE INSERT ON TEST
FOR EACH ROW
DISABLED
BEGIN
  :NEW.TEST_KEY := TEST_SEQ.NEXTVAL;
END;