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する方法が必要ですストアドプロシージャで例外が発生し、ロールバックされるか、エラーなしで処理されます。これはできますか?