我创建了一个小函数和小触发器。当我运行最简单的DELETE查询时,我只看到控制台中的通知和上下文消息(没有警告,也没有错误消息),但是这个DELETE查询仍然没有效果(记录保留在表中,不被删除)。函数和触发器如下所示:AS $$ table_namewhere id = 31DELETE FROM layers WHER
关于触发器过程()的文档说:“触发器函数必须返回NULL或一个记录/行”。INSERT ON table_name假设some_trigger_function()返回record/row,我知道过程体是在这个事件、这个表等等上调用和执行的……但是这个过程的返回值在哪里呢?问题是:当我们使用返回值的时候
创建一个触发器,当将数据插入到builds_result表中时,该触发器将应用程序表的updated_time字段的值更新为当前日期和时间。在apps.updated_time上给出误差
create trigger upd after insert on builds_result for each row execute procedure
MS 中的Solution
MS触发器函数具有deleted和inserted系统表,其中存储受操作影响的所有行。,我可以使用旧的和新的系统记录,但是每次调用触发器时,它们只存储一行。PostgreSQL不允许在语句级触发器中引用旧表和新表,即包含所有旧表和/或新行的表,这些表由SQL标准中的旧表和新表子句引用。我使用temp表在<em