Created
June 27, 2023 09:42
-
-
Save finoghentov/f0998c829873ed7c9b5a4b619d30dcda to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DECLARE errcount INT; | |
DECLARE errno INT; | |
DECLARE msg TEXT; | |
DECLARE vNoRec INTEGER DEFAULT 0; | |
DECLARE vException INTEGER DEFAULT 0; | |
DECLARE CONTINUE HANDLER FOR NOT FOUND SET vNoRec = 1; | |
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION | |
BEGIN | |
SET vException = 1; | |
GET CURRENT DIAGNOSTICS CONDITION 1 errno = MYSQL_ERRNO, msg = MESSAGE_TEXT; | |
GET CURRENT DIAGNOSTICS errcount = NUMBER; | |
IF errcount <> 0 THEN | |
GET CURRENT DIAGNOSTICS CONDITION 1 errno = MYSQL_ERRNO, msg = MESSAGE_TEXT; | |
END IF; | |
GET STACKED DIAGNOSTICS CONDITION 1 errno = MYSQL_ERRNO, msg = MESSAGE_TEXT; | |
END; | |
START TRANSACTION; | |
# КАКОЙ-ТО sql запрос | |
IF vException = 1 THEN | |
ROLLBACK; | |
SELECT 'SOME_ERROR_MESSAGE' AS resultCode, errno AS resultErrNo, msg AS resultErrMsg; | |
LEAVE proc; | |
END IF; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment