postgresql数据库通过触发器解决a字段或c字段值更新,b字段同步更新问题

    技术2023-11-13  76

    触发器函数存储过程如下

    CREATE OR REPLACE FUNCTION "public"."update_jdgl_gcljs_ghjd_funcs"()   RETURNS "pg_catalog"."trigger" AS $BODY$ begin if(NEW.TZ_JHTZ != OLD.TZ_JHTZ) then update     jdgl_gcljs_ghjd_tb set     TZ_WCL = OLD.TZ_SJTZ*100 / NEW.TZ_JHTZ where     NEW.PK_UID = PK_UID;     end if; if(NEW.yzl_jhjsrw != OLD.yzl_jhjsrw) then update     jdgl_gcljs_ghjd_tb set     TZ_WCL = OLD.yzl_sjjsrw*100 / NEW.yzl_jhjsrw where     NEW.PK_UID = PK_UID; end if; return new; end $BODY$   LANGUAGE plpgsql VOLATILE   COST 100

     创建触发器

    CREATE TRIGGER "jdgl_gcljs_ghjd_tb" AFTER UPDATE ON "public"."jdgl_gcljs_ghjd_tb" FOR EACH ROW EXECUTE PROCEDURE "public"."update_jdgl_gcljs_ghjd_funcs"();

    Processed: 0.014, SQL: 9