具体实现方式非常简单。如下示例:
#创建一个程序,程序的名称为upd_timestamp,这里你也可以自己定义程序的名称
create or replace function upd_timestamp() returns trigger as
$$
begin
new.modified = current_timestamp; #其中字段modified指的是test数据库表的的一个时间字段。类型为timestamp
return new;
end
$$
language plpgsql;
drop table if exists test;
#创建一张表
create table test (
id bigserial primary key,
tradeid integer ,
email varchar(50),
num integer,
modified timestamp default current_timestamp
);
#下面这个语句是创建一个触发器,名字为t_name,它关联的是上面的表test,当表中的每天记录更改时,执行upd_timestamp()这个程序。
create trigger t_name before update on test for each row execute procedure upd_timestamp();
这样,当你test表的一行数据时,该行的modified字段记录的时间就会实时更改