0

次のストアドプロシージャでエラーが発生する理由を教えてもらえますか?

CREATE PROCEDURE test(emailA varchar(50))
BEGIN
DECLARE a  INT;
 DECLARE f_id BIGINT;

DECLARE exit handler for sqlexception sqlwarning 
BEGIN    
  SET a = 1;
END; 

DECLARE EXIT HANDLER FOR 1072
BEGIN       
     CALL log_error(1072,'test');
END;   

SELECT id  INTO f_id FROM user WHERE email = emailA;

END// 

エラー

SQL構文にエラーがあります。'sqlwarning BEGIN SET a = 1;の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。終わり; 6行目で出口ハンドラーF'を宣言します

4

2 に答える 2

0

まだ解決されていない場合..

これがうまくいくことを願っています

sqlexceptionのDECLARE出口ハンドラーSETa= 1、sqlwarning CALL log_error(1072、'test');

于 2012-11-24T08:39:48.063 に答える
0

コンマを追加する必要があると思います

DECLARE exit HANDLER FOR SQLEXCEPTION, SQLWARNING
于 2012-11-24T06:54:25.107 に答える