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更新也一起中断!
展开