PgSQL想要实现数据插入或者更新时,update_time
字段自动更新时间的功能,类似于mySQL的ON UPDATE
。
创建更新函数
CREATE OR REPLACE FUNCTION "public"."upd_update_time"()
RETURNS "pg_catalog"."trigger" AS $BODY$
begin
new.update_time= (SELECT to_char(now(),'YYYY-MM-DD HH24:MI:SS') now);
return new;
end
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
upd_update_time
为函数名,update_time
为表中需要自动更新的字段名
创建表
CREATE TABLE "sys_user" (
"id" serial,
"username" varchar(32) NOT NULL PRIMARY KEY,
"password" varchar(128) NOT NULL,
"secret" varchar(30) NOT NULL,
"phone" varchar(11) DEFAULT NULL,
"nickname" varchar(32) NOT NULL,
"avatar" varchar(255) DEFAULT NULL,
"status" enum_user_status NOT NULL,
"reg_ip" varchar(15) DEFAULT NULL,
"create_time" timestamp NOT NULL DEFAULT now(),
"update_time" timestamp NOT NULL DEFAULT now(),
);
设置触发器
在Navicat
数据库管理软件中新增触发器即可。
1、选择表的设计模式
,点击触发器
标签页
2、点击新增按钮,输入一个触发器名称,依次勾选ROW
、BEFORE
选项,再根据业务依次勾选插入
、更新
复选框
3、选择触发函数,然后保存即可
Loading...