Mysql 触发器(实际业务场景写法)

Mysql 触发器(实际业务场景写法)

话不多说,直接进入整体

-- 查看当前库是否有改触发器,有则删除  
DROP TRIGGER IF EXISTS zyttbi.apply_change_update;  
create trigger apply_change_update
-- before和after update/inster/delete
before update on sg_apply_change
for each row 
begin
	-- 判断修改的状态的后八位是否等于11451002,也可以 = old.state 代表修改前的状态 then是返回值,条件成立
	if right(new.state, 8) = '11451002' then 
	-- case 和后端代码同理
		case right(new.applyType, 8) 
			when '11441000' then 
			 update sg_apply t set t.buildStartTime= NOW(),t.state = concat(left(new.state, 4),'11421003')  where t.id = new.applyID;
			when '11441001' then 
			 update sg_apply t set t.buildEndTime= NOW(),t.state = concat(left(new.state, 4),'11421003') where t.id = new.applyID;
		end case;
	end if;
end;

触发器写法必须有头有尾,希望大家注意 if - end if; case - end case;
至此一个简单业务场景的触发器就写完了,有问题欢迎评论提出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值