通过触发器监控某表的指定字段的变化并删除另一张表的对应的行记录

通过触发器监控某表的指定字段的变化并删除另一张表的对应的行记录

业务场景:

催单自动取消–当订单表(kriswu_orders)中的状态(status)字段进行更改时,即订单状态发生变化时,就去删除催单表(kriswu_client_urge)中的该订单对应的催单记录

一、触发器sql

create trigger TR_KrisWuOrders_Change 
after update on kriswu_orders
for each row
begin 
if (NEW.status != OLD.status) then
delete from kriswu_client_urge where  kriswu_client_urge.csp_order_id=OLD.csp_order_id;
end if;
end;

二、深入理解触发器

1.触发器是基于事件的,主要的事件也就是MySQL的增删改操作,即insert,delete,update。
2.触发器语句中使用了两种特殊的表:deleted 表和 inserted 表。
2.1.插入操作(Insert)
Inserted表有数据,Deleted表无数据
2.2.删除操作(Delete)
Inserted表无数据,Deleted表有数据
2.3.更新操作(Update)
Inserted表有数据(新数据),Deleted表有数据(旧数据)
3.修改行的数据用NEW和OLD
NEW代表修改后的行数据
OLD代表修改前的行数据


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值