sql触发器过滤某些数据
2020-01-09 本文已影响0人
jianshuqiang
使用触发器过滤某些特定的数据(pg数据库)
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
--建立触发器
CREATE TRIGGER example_trigger before INSERT ON COMPANY
FOR EACH ROW EXECUTE PROCEDURE auditlogfunc();
-- 数据处理函数
CREATE OR REPLACE FUNCTION auditlogfunc() RETURNS TRIGGER AS $example_table$
BEGIN
if(new.ID<10)
THEN RETURN NEW;
else
return null;
end IF;
END;
$example_table$ LANGUAGE plpgsql;
--- test
insert into COMPANY values(6,'23',3,'333',null),(7,'23',3,'333',null),(50,'23',3,'333',null),(60,'23',3,'333',null),(8,'23',3,'333',null)
select * from COMPANY
delete from COMPANY