【问题标题】:Oracle trigger that inserts row after update更新后插入行的Oracle触发器
【发布时间】:2017-06-26 08:29:09
【问题描述】:

我正在尝试创建一个触发器(或类似的东西),当更新一行时插入一个新行。 场景是:我有一张每个月应该完成的任务表。当任务设置为完成时(这是更新语句),我希望创建一个新任务,具有相同的参数但日期不同。 所以我在想一个更新后触发器,它会在同一个表上触发一个插入语句,但 oracle 不允许这样做。

有什么好的方法来实现这个目标?

提前致谢。

【问题讨论】:

    标签: sql oracle triggers insert


    【解决方案1】:

    您遇到的错误是什么?如果它是变异表,则有一些解决方法,但它们很笨拙。如果您真的想这样做,请参阅this AskTom thread。但是,除非绝对必要,否则我建议不要使用触发器。只要我们链接到 Tom Kyte,请参阅他的文章“The Trouble with Triggers”。

    您可以在代码中执行更新,只需在状态设置为完成后执行插入即可。我认为这是一个更好的解决方案,除非有什么阻止它。

    【讨论】:

      猜你喜欢
      • 2019-07-28
      • 1970-01-01
      • 2013-07-01
      • 2021-03-08
      • 2020-04-07
      • 1970-01-01
      • 2016-10-13
      • 1970-01-01
      • 2018-03-22
      相关资源
      最近更新 更多