通过触发器实现
1.建一个function,指定字段update_at更新成当前时间now()
CREATE OR REPLACE FUNCTION set_update_at()
RETURNS TRIGGER AS $$
BEGIN
IF(TG_OP = 'UPDATE') THEN
NEW.update_at = now();
RETURN NEW;
END IF;
END;
$$ language 'plpgsql';
2.对象表建立触发器,监视更新操作
DROP TABLE if exists sys_t_token;
CREATE TABLE sys_t_token(
id serial not null
,update_user varchar(100)
,update_at timestamp default current_timestamp not null
,constraint sys_t_token_PK primary key (id)
);
CREATE TRIGGER trg_sys_t_token_update_at BEFORE UPDATE ON sys_t_token FOR EACH ROW EXECUTE PROCEDURE set_update_at();
a5m2下执行创建function语句时报错
unterminated dollar-quoted string at or near “$$
BEGIN
IF(TG_OP = ‘UPDATE’) THEN
NEW.update_at = now()”

原因是执行sql时默认的SQL区切り文字是分号[;],换成其他的就可以正常执行了。