Skip to content

Instantly share code, notes, and snippets.

@finoghentov
Created July 6, 2022 16:12
Show Gist options
  • Save finoghentov/abd34f47ccbb4da9bc2a83a1a5b564db to your computer and use it in GitHub Desktop.
Save finoghentov/abd34f47ccbb4da9bc2a83a1a5b564db to your computer and use it in GitHub Desktop.
CREATE DEFINER=`root`@`%` PROCEDURE `CalculateBagCorrespondeces`(IN pBagCode char(28))
proc:
BEGIN
DECLARE vException INTEGER DEFAULT 0;
DECLARE errcount INT;
DECLARE errno INT;
DECLARE msg TEXT;
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;
# HERE IS SQL THAT TRIGGERS ERROR
UPDATE ....
IF vException = 1 THEN
ROLLBACK;
SELECT 'ERR' AS resultCode, errFno AS resultErrNo, msg AS resultErrMsg;
LEAVE proc;
END IF;
SELECT 'test' as TEST;
END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment