エラーハンドラはプロシージャの外で宣言できますか?
DECLARE EXIT HANDLER FOR NOT FOUND ROLLBACK;
DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
DECLARE EXIT HANDLER FOR SQLWARNING ROLLBACK;
START TRANSACTION;
INSERT INTO ad_type VALUES (3, 'test');
INSERT INTO ad_type_languages VALUES (3, 'TEST', 'en' , 'yes');
COMMIT;
このコードを実行しようとすると、エラーが発生します。
1 行目の ERROR 1064 (42000): SQL 構文にエラーがあります。3 行目の 'DECLARE EXIT HANDLER FOR NOT FOUND ROLLBACK' の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
プロシージャで実行すると問題なく実行されますが、ストアドプロシージャのないスクリプトでこれが必要です。
前もって感謝します。
ps
この 3 つのハンドルはすべてのエラーをキャッチしますか?