【问题标题】:Use of new_table, old_table, the original table name in a after trigger function在后触发函数中使用new_table、old_table、原表名
【发布时间】:2021-03-17 07:28:34
【问题描述】:

我正在 PosgreSQL 中为 after 触发器编写一个触发器函数,该触发器处理 UPDATE/INSERT 并希望通过以下方式引用新表它的原始名称而不是new_table。而且我无法在文档中找到任何相关内容。这可能吗?

在同样的情况下,我想知道 new_table 是否可用于触发前的过程。如果是这样,在这种情况下,原始表名是指新的表名还是当前(在 UPDATE/INSERT 之前)的表名?

非常感谢。

【问题讨论】:

  • 你说的是行级触发器还是语句级触发器?

标签: sql postgresql triggers


【解决方案1】:

根据the documentation,您可以使用REFERENCING NEW TABLE AS whatever 重命名旧/新伪表

OLD 和 NEW 在前触发器中也可用;如果您在 NEW 表中设置替代值,它将影响最终写入表的数据

【讨论】:

    猜你喜欢
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 2017-05-11
    • 2021-06-09
    • 2013-08-05
    • 2022-01-27
    相关资源
    最近更新 更多