postgreSQL触发器控制更新字段

--po_info为主表,po_item为从表,po_info中有更新字段lastupdatetime,两张表关联字段po_id

---------------po_id用触发器监控表的更新,用lastupdatetime记录时间------------------ --创建触发器过程-- CREATE OR REPLACE FUNCTION po_info() RETURNS trigger AS $BODY$ BEGIN If (TG_OP = 'UPDATE') THEN If NEW.lastupdatetime = OLD.lastupdatetime Then update po_info set lastupdatetime = now() where po_id=new.po_id ; END IF; END IF; return null; end; $BODY$ LANGUAGE plpgsql --创建触发器-- CREATE TRIGGER tr_po_info AFTER update ON po_info FOR EACH ROW EXECUTE PROCEDURE po_info(); ---------------po_item用触发器监控表的更新,更改po_id的lastupdatetime时间------------------ --创建触发器过程-- CREATE OR REPLACE FUNCTION po_item() RETURNS trigger AS $BODY$ BEGIN If (TG_OP = 'UPDATE') THEN If (NEW != OLD) Then update po_info p1 set lastupdatetime = now() where p1.po_id=new.po_id ; END IF; END IF; return null; end; $BODY$ LANGUAGE plpgsql --创建触发器-- CREATE TRIGGER tr_po_item AFTER update ON po_item FOR EACH ROW EXECUTE PROCEDURE po_item();

相关文章

来源:http://www.postgres.cn/docs/11/ 4.1.1. 标识符和关键词 SQL标识符和关键词必须以一个...
来源:http://www.postgres.cn/docs/11/ 8.1. 数字类型 数字类型由2、4或8字节的整数以及4或8...
来源:http://www.postgres.cn/docs/11/ 5.1. 表基础 SQL并不保证表中行的顺序。当一个表被读...
来源:http://www.postgres.cn/docs/11/ 6.4. 从修改的行中返回数据 有时在修改行的操作过程中...
来源:http://www.postgres.cn/docs/11/ 13.2.1. 读已提交隔离级别 读已提交是PostgreSQL中的...
来源:http://www.postgres.cn/docs/11/ 9.7. 模式匹配 PostgreSQL提供了三种独立的实现模式匹...