【问题标题】:Executing the store procedure in MySQL Query Browser But not execute show exception like You have an error in your SQL syntax在 MySQL 查询浏览器中执行存储过程但不执行 show exception like You have an error in your SQL syntax
【发布时间】:2015-11-27 08:07:27
【问题描述】:

Exception copied from MYSQL Query Browser

您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 在第 10 行的 '' 附近

**Store Procedure Code**

CREATE PROCEDURE sp_datafix_tp(       
p_appid INT, 
p_tpretail_prc decimal(18,5), 
p_tpcommission_amt decimal(18,5), 
check_ind char(1) )
Begin 

if check_ind='U'  

  Then 
   update application set tpretail_prc=p_tpretail_prc, tpcommission_amt =        p_tpcommission_amt where appid=p_appid;


  elseif check_ind='S'    
  Then

select appid,tpretail_prc,tpcommission_amt from application a
           where a.appid=p_appid; 

end if;

END;
  • 看起来存储过程代码很好。
  • 我使用的是 MySQL Server 5.5 版本。
  • 我使用的是 MySQL Query Browser 5.0 版本。

【问题讨论】:

标签: mysql database stored-procedures


【解决方案1】:

分隔符 $$ 请添加上面的存储过程,

分隔符; 并在存储过程的末尾添加此分隔符。

【讨论】:

  • 为什么我会在存储过程中使用分隔符?
【解决方案2】:

存储过程没有问题。我在本地 MySQL 上运行了这个 SP,版本为 5.6。

【讨论】:

  • @Nwhaider 请检查图片 我使用的是 MYSql 查询浏览器 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 10 行的 '' 附近使用正确的语法
  • 我认为您正在使用 Toad for mysql,它适用于 toad 但不适用于查询浏览器。
  • DELIMITER $$ 创建过程 sp_datafix_tp( . . END IF; END $$ DELIMITER;
  • nwzhaider 为什么我要在我的存储过程中使用分隔符?
  • 请解释一下分隔符的用法?
猜你喜欢
  • 1970-01-01
  • 2017-09-14
  • 2015-11-14
  • 1970-01-01
  • 2012-11-20
  • 1970-01-01
  • 2014-10-14
  • 2020-10-10
  • 1970-01-01
相关资源
最近更新 更多