Pgsql以及Kingbasees创建触发器


触发器是什么?

触发器可以与表进行绑定,当表做出Delete、Update、Insert这些对表进行改动的操作时,会触发触发器内的逻辑,常用有打日志输出等。。

PGSQL在创建的触发器的方式与Oracle有些不同(查阅文档未找到更快捷的方式);

Oracle创建触发器的方式:

CREATE OR REPLACE TRIGGER meta_log_insert_trigger
 AFTER INSERT OR UPDATE OR DELETE ON ly_ysj_yw_bxx --这里声明触发器绑定的表
 for each row
DECLARE 
   bgzt varchar2(24);
BEGIN
    -- 这里判断触发的类型(Delete、Update、Insert)
   IF UPDATING THEN
      bgzt := 'U';
   ELSIF DELETING THEN
     bgzt := 'D';
   ELSIF INSERTING THEN
     bgzt := 'I';
   END IF;  
   -- 触发器逻辑
   IF  DELETING THEN
       insert into ly_ysj_yw_bxx_log(bbh,kbh,wlblx,bywmc,bms,jls,bzxx,sqr,bsqr,sfyxzsq,qxlx,ywblx,sfgl,glyy,czr,czsj,ssbkjmc,bzt,ysbm,ysbzwm,sfyyfx,shr,shsj,bgzt)
     values(:old.bbh,:old.kbh,:old.wlblx,:old.bywmc,:old.bms,:old.jls
     ,:old.bzxx,:old.sqr,:old.bsqr,:old.sfyxzsq,:old.qxlx,:old.ywblx,:old.sfgl,:old.glyy
     ,:old.czr,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),:old.ssbkjmc,:old.bzt,:old.ysbm,:old.ysbzwm,:old.sfyyfx,:old.shr,:old.shsj,bgzt);  
   
   ELSE  

    insert into ly_ysj_yw_bxx_log(bbh,kbh,wlblx,bywmc,bms,jls,bzxx,sqr,bsqr,sfyxzsq,qxlx,ywblx,sfgl,glyy,czr,czsj,ssbkjmc,bzt
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值