mysql触发器 update_mysql 触发器 if 语句 update

DELIMITER$$USE`eerp`$$DROPTRIGGER/*!50032IFEXISTS*/`material_update`$$CREATETRIGGER`material_update`AFTERUPDATEON`sf_material`FOREACHROWBEGINIFnew.auditing='Y'THENSET@amo...

DELIMITER $$

USE `eerp`$$

DROP TRIGGER /*!50032 IF EXISTS */ `material_update`$$

CREATE

TRIGGER `material_update` AFTER UPDATE ON `sf_material`

FOR EACH ROW BEGIN

IF new.auditing = 'Y' THEN

SET @amountmm = ((SELECT amount FROM warehouse WHERE CODE=new.code AND whcode = new.whcode )- new.amount);

IF @amountmm <0 THEN

@sqlz ='select asd from flkg';

EXECUTE(@sqlz);

END IF ;

UPDATE warehouse

SET amount =@amountmm

WHERE CODE=new.code AND whcode = new.whcode ;

END IF;

END;

$$

DELIMITER ;

哪里大大帮我怎么错了。谢了!

IF @amountmm <0 THEN

@sqlz ='select asd from flkg';

EXECUTE(@sqlz);

END IF ;

这段。。加上去就不行了。。

EXECUTE(@sqlz);这里我是希望他能中断更新!

不关set的事。这里可能搞少了!!我把中间两句set @sqlz ='select asd from flkg';

EXECUTE(@sqlz);删了也不行

我是要中断更新。。不是后面。。。严格说就是这个表sf_material更新和后面的那个表warehouse更新也一起中断!

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值