【问题标题】:operation is that trigger performed wants rollback操作是执行的触发器想要回滚
【发布时间】:2012-11-25 17:30:18
【问题描述】:

我想写一个关于建表的日志系统。我希望如果有人想更改构建表记录,则执行触发器。触发任务写入 building_log 表,在 building 表中要更改的列。重要提示:建表不受此操作的影响。是否有可能,当有人想更改建筑表但建筑表不影响此操作时,我会收到通知。

【问题讨论】:

    标签: sql triggers oracle11g


    【解决方案1】:

    听起来您只是在寻求“触发”:您可以阅读它们的相关信息in the excellent Concepts guide

    但是 Oracle 有一个内置功能可以满足您的需求,称为 Flashback Data Archive — 如果您可以使用它,我建议您研究一下。

    --- 编辑:

    好的,我想我误读了这个问题。您想静默阻止更新。不管这是否是一个好主意,对于before update 触发器,您可以使用原始:old 值覆盖:new 值。没有简单的方法可以用insert 做类似的事情,但我不认为你要求这样做。

    如果您真的需要静默防止插入,也许您可​​以考虑向用户公开视图而不是表本身,并创建 instead of 触发器

    【讨论】:

      猜你喜欢
      • 2017-09-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-29
      • 2016-01-16
      • 1970-01-01
      • 2017-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多