postgresql触发器的编写

CREATE OR REPLACE FUNCTION public.trig_upd_dktb_dkname()
    RETURNS trigger
    LANGUAGE 'plpgsql'
    VOLATILE
    COST 100
AS $BODY$BEGIN
        if NEW.jcbh_xh = '' or NEW.jcbh_xh is null then NEW.dkname = NEW.jcbh ;
        else NEW.dkname = NEW.jcbh + '-' + NEW.jcbh_xh;
        END IF;
    RETURN NEW;
END;
$BODY$;


CREATE TRIGGER updated_dkname
    BEFORE UPDATE 
    ON public.wp_dktb
    FOR EACH ROW
    EXECUTE PROCEDURE public.trig_upd_dktb_dkname();
    

示例2

CREATE 
    OR REPLACE FUNCTION fnh.trig_upd_gg_dk_rwzt ( ) RETURNS TRIGGER LANGUAGE 'plpgsql' VOLATILE COST 100 AS $BODY$ DECLARE
    v_wyrddlmc VARCHAR;
BEGIN
    SELECT NAME INTO  v_wyrddlmc FROM   app_dic_entry  WHERE    dic_id = '1448543512907718658'  AND CODE = NEW.wyrddl;
    NEW.wyrddlmc = v_wyrddlmc;
RETURN NEW;

END;
$BODY$;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容