我有两个程序,两个程序都插入variours。程序A调用程序B.
如果procA中的任何插入失败,那么一切都很好并且没有提交。但是,如果procB中的某些内容失败,我在procA中的插入仍然会提交。我该如何防止这种情况发生。我只需要确保如果过程OR子过程中的任何内容失败,则不会提交任何插入。
DROP PROCEDURE IF EXISTS procA;
DELIMITER //
CREATE PROCEDURE procA(parama INT,
paramb VARCHAR(50))
BEGIN
INSERT INTO .......
INSERT INTO .......
call procB(@paramx, parama);
END //
DELIMITER ;
和
DROP PROCEDURE IF EXISTS procB;
DELIMITER //
CREATE PROCEDURE procB(paramx INT,
parama INT)
BEGIN
INSERT INTO .......
END //
DELIMITER ;
答案 0 :(得分:0)
只需将过程设为函数 - 然后回滚错误代码