Postgresql触发器

是否有可能看到触发的表中的最后一个条目?

例如,我有一个名为“users”的表和一个名为“log”的表。 我想写入“日志”上次写入“用户”的用户标识,因此每次创建用户时,都会将用户标识写入日志。

我用下面的函数为用户创建一个触发器...

CREATE OR REPLACE FUNCTION process_learner_creater()返回TRIGGER AS $ log $ BEGIN IF(TG_OP ='INSERT')然后插入用户的SELECT userid日志; RETURN NULL; 万一; RETURN NULL; 结束; $ log $ LANGUAGE plpgsql;

所以,当一个插入在用户表上被触发时,它会返回用户的用户名,问题是我不知道最后一个用户是什么被添加的,所以这个函数将不起作用。

有没有办法说...

INSERT INTO从用户日志中SELECT <>;

用户中的这个字段应该是一个串行字段,因此会自动递增(而不是插入中的SQL脚本的一部分,因为这将被自动分配)。


据我所知,你想使用NEW变量,它包含触发器被调用的新行(你不必为它SELECT )。 你看过文档中的例子吗?

http://www.postgresql.org/docs/8.4/interactive/plpgsql-trigger.html

链接地址: http://www.djcxy.com/p/93949.html

上一篇: Postgresql triggers

下一篇: Logic