【问题标题】:How to get new value (:new.column) while using delete trigger?使用删除触发器时如何获取新值(:new.column)?
【发布时间】:2020-05-04 14:36:20
【问题描述】:

我正在使用删除触发器。我想在新表中获取特定列的旧值和新值。我尝试使用:old.columnname:new.columnname:old.columnname 工作正常,但 :new.columnname 不工作。该列在新表中用 null 填充。有什么解决方法吗?

【问题讨论】:

    标签: sql oracle plsql triggers database-trigger


    【解决方案1】:

    delete 触发器中没有“有用的”:new 值。 “新”记录在概念上并不存在。这就是delete 所做的:删除“新”记录。 :new 在那里,但所有列都是NULL

    所以,你应该只使用NULL 常量。

    【讨论】:

    • 在 DELETE 触发器中有一个 :NEW 伪行,但 :NEW 伪行中的所有字段都是 NULL。 db<>fiddle here
    • @BobJarvis-ReinstateMonica 。 . .这是一个好点。我已经澄清了答案。我想说 delete 删除了“新”记录,所以它在概念上不存在,引用它也没有意义。
    猜你喜欢
    • 2021-10-19
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 2016-02-08
    • 2021-09-14
    • 2021-11-15
    • 1970-01-01
    相关资源
    最近更新 更多