【问题标题】:Stored procedure with transaction giving me error带有事务的存储过程给了我错误
【发布时间】:2012-11-24 06:36:24
【问题描述】:

谁能告诉我为什么下面的存储过程给我一个错误 -

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 行声明 EXIT HANDLER F'

【问题讨论】:

  • 产生的错误信息是什么?
  • 我的帖子更新出错了

标签: mysql sql stored-procedures error-handling


【解决方案1】:

我觉得你需要加逗号

DECLARE exit HANDLER FOR SQLEXCEPTION, SQLWARNING

【讨论】:

【解决方案2】:

如果还没有解决..

希望这可行

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

【讨论】:

    猜你喜欢
    • 2019-02-22
    • 2020-02-29
    • 2019-02-02
    • 1970-01-01
    • 2017-03-04
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多