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