我想做下面的事情。有一个程序包含另外两个程序。第一个将一些日期插入到我的“用户”表中,第二个对其他一些表执行相同的操作。问题是,当我使用错误的“CountryID”调用此 SP 并导致进程按预期出现错误时,第一个 SP(插入用户名)提交!显然我想要的是在这个错误之后回滚。
BEGIN
START TRANSACTION ;
SET @Username = _Username;
CALL `InsertUsername` (
@Username , @UserID
);
CALL `InsertAddress` (
@UserID , _CountryID , _AdderssText , _PostalCode
);
COMMIT ;
END