创建触发器
最近更新时间: 2024-10-17 17:10:00
使用命令
CREATE TRIGGER… ON … EXECUTE PROCEDURE … 创建触发器
触发事件可以是INSERT,UPDATE [ OF column_name [, ... ] ],DELETE或者TRUNCATE
示例:触发事件,插入记录时,如果f2字段值小于0时,则将f2的值修改成0
创建表
create table t_trigger(f1 int,f2 int);
创建函数
CREATE OR REPLACE FUNCTION t_trigger_insert_trigger_func () RETURNS trigger AS
$body$
BEGIN
if NEW.f2
NEW.f2=0;
end if;
RETURN NEW;
END;
$body$
LANGUAGE plpgsql;
创建触发器
CREATE TRIGGER t_trigger_insert_trigger BEFORE INSERT ON t_trigger FOR EACH ROW EXECUTE PROCEDURE t_trigger_insert_trigger_func();
插入数据
insert into t_trigger values(1,-1);
查询数据
select * from t_trigger;
⚠️查询结果f2为0,插入数据事件触发了触发器,直接将f2的值修改为0