Как узнать, вызывает ли хранимая процедура исключение? - PullRequest
1 голос
/ 01 марта 2012

У меня есть хранимая процедура со следующей структурой:

CREATE PROCEDURE MyStoredProcedure(IN code INTEGER) BEGIN
    DECLARE EXIT handler FOR SQLEXCEPTION
    BEGIN
        ROLLBACK;
        SET autocommit = 1;
        SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
    END;

    SET autocommit = 0;
    SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
        -- code here
    COMMIT;

    SET autocommit = 1;
    SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
END;

И я вызываю ее через PDO, используя:

$dbh->prepare("CALL MyStoredProcedure(?);");

Она работает нормально, но мне нужен способбыть удаленным из PHP, если хранимая процедура вызвала исключение, и она "откатилась" или прошла без ошибок.Можно ли это сделать?

1 Ответ

0 голосов
/ 01 марта 2012

Добавить выходной параметр в процедуру и в случае ошибки поставить 0 или 1 в случае успеха

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...