MySQL ストアド プロシージャ
DELIMITER $$
USE `RMS`$$
DROP PROCEDURE IF EXISTS `posTransactionEntry`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `posTransactionEntry`(OUT trxID INT)
BEGIN
DECLARE trxID INT;
INSERT INTO `RMS`.`transaction`
(`MemberID`,`UserID`,`Type`,`UID`)
VALUES (NULL,1,0,'56c54e5c-075d-458d-9845-cf410f8a60ec');
SET trxID=(SELECT ID FROM `transaction` WHERE `transaction`.`UID`='56c54e5c-075d-458d-9845-cf410f8a60ec');
INSERT INTO `RMS`.`transactionentry`
(
`TransactionID`,
`ItemID`,
`Quantity`,
`Unitcost`,
`Price`,
`SoldPrice`,
`ReasonID`)
VALUES (trxID,28,10,23.23,10,10,NULL);
UPDATE `transaction` SET `transaction`.`UID`=0 WHERE `transaction`.`ID`=trxID;
END$$
DELIMITER ;
このストアド プロシージャには 4 つのステートメントがあります。エラーが発生した場合、どのステートメントエラーが発生したか、特定のステートメントが正常に実行されたことを確認する方法。エラーが発生した場合、どのステートメントがエラーを生成したかを知る方法と、それに応じて実行されたすべてのステートメントをロールバックする方法を知ることができます。
一貫性と確実性を意味します, どうすれば達成できますか?