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 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 'sqlwarning BEGIN SET a = 1; 附近使用正确的语法;结尾; 在第 6 行声明退出处理程序 F'

4

2 回答 2

0

我认为您需要添加逗号

DECLARE exit HANDLER FOR SQLEXCEPTION, SQLWARNING
于 2012-11-24T06:54:25.107 回答
0

如果还没有解决..

希望这有效

DECLARE sqlexception 的退出处理程序 SET a = 1, sqlwarning CALL log_error(1072,'test');

于 2012-11-24T08:39:48.063 回答