postgresql(1)------创建索引触发器

postgresql(1)------ 创建索引  触发器


项目中用到触发器和触发器来插入4个固定字段  

库中许多表中有固定字段created_by,updated_by,date_created,date_updated需要插入时指定用户修改时间和创建时间,这时就需要触发器函数和触发器来协作。

我是按照下面2步来完成的:

1:创建触发器修改和插入

CREATE TRIGGER "public.hw_property_bi"

        BEFORE INSERT

        ON public.hw_property

        FOR EACH ROW

        EXECUTE PROCEDURE public.tri_hw_usr_date_bi();


CREATE TRIGGER "public.hw_property_bu"

        BEFORE UPDATE

        ON public.hw_property

        FOR EACH ROW

        EXECUTE PROCEDURE public.tri_hw_usr_date_bu();


CREATE TRIGGER "public.hw_service_order_item_bi"

    BEFORE INSERT

    ON public.hw_property

    FOR EACH ROW

    EXECUTE PROCEDURE pubic.tri_siapp_usr_date_bi();


CREATE TRIGGER "public.hw_service_order_item_bu"

    BEFORE UPDATE

    ON public.hw_property

    FOR EACH ROW

    EXECUTE PROCEDURE public.tri_hw_usr_date_bu();



2:创建触发器函数

CREATE OR REPLACE FUNCTION public.tri_hw_usr_date_bi()

    RETURNS trigger AS

$BODY$

declare

    v_tri_usr := 'admin';

    v_tri_date := current_date;

   NEW.created_by := v_tri_usr;

   NEW.updated_by :=v_tri_usr;

   NEW.date_created := v_tri_date;

   NEW.date_updated := v_tri_date; 

return NEW;

end

$BODY$

        LANGUAGE plpgsql VOLATILE

        COST 100;

ALTER FUNCTION public.tri_hw_usr_date_bi()

       OWNER TO trdmalldata;



CREATE OR REPLACE FUNCTION public.tri_hw_usr_date_bu()

    RETURNS trigger AS

$BODY$

declare

    v_tri_usr character varying(100);

    v_tri_date date;

begin

v_tri_usr :='admin';

v_tri_date := current_date;

NEW.updated_by := v_tri_usr;

NEW.date_updated := v_tri_usr;

return NEW;

end

$BODY$

        LANGUAGE plpgsql VOLATILE

        COST 100;

ALTER FUNCTION public.tri_hw_usr_date_bu()

       OWNER TO trdmalldata;



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值