2012-03-01 77 views
1

我有以下结构的存储过程:如何知道存储过程是否引发异常?

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 dected该存储过程引发了一个异常,它得到了“回滚”或者没有错误。这可以做到吗?

回答

0

添加一个出参数的过程,并在出现错误的情况下有0或成功的1

相关问题