保存存储过程时出错[重复]

Posted

技术标签:

【中文标题】保存存储过程时出错[重复]【英文标题】:Error while saving stored procedure [duplicate] 【发布时间】:2012-10-05 13:11:43 【问题描述】:

可能重复:How to write a stored procedure using phpmyadmin and how to use it through php?

我从存储过程开始,并在每个使用过的页面上尝试了一个简单的查询,但得到一个我无法解决的错误。

CREATE PROCEDURE ts_open_uitdagingen()
BEGIN
SELECT
            COUNT(*) AS open_uitdagingen
        FROM
            ts_lad_uitdagingen
        WHERE 
            uitgedaagde = '97'
            AND acceptdatum IS NULL
            AND afwijsdatum IS NULL ;

END;

错误信息:

1064 - 您的 SQL 语法有错误;检查与您的 mysql 服务器版本相对应的手册,以获取正确的语法,以便在第 10 行的 '' 附近使用

第 10 行有什么问题? 有或没有分号,我得到这个消息?? 查询本身只是从我的脚本中复制而来,并且运行良好。

【问题讨论】:

您需要设置一个备用DELIMITER。无论您是在 MySQL 命令行上还是在其他客户端上执行此操作,过程都不同。 谢谢,我确信我只需要命令行而不是 phpmyadmin!但我不能接受您的分析,因为您已将其作为评论提交?请提交作为答案,所以我可以给你正确答案的学分。再次感谢! 这不是重复的,根据那个主题(不是我的)不可能通过 PMA 处理 SP,但我可以通过 PMA 创建和删除 SP:) Duplicate 表示一个问题涵盖相同的领域并且有足够的答案 - 第一个答案涉及在 PMA 中设置分隔符。 【参考方案1】:

尝试去掉那些尾随的分号?

我会尝试一些其他格式的事情:

CREATE PROCEDURE ts_open_uitdagingen
AS
BEGIN 

   SELECT 
        COUNT(*) AS open_uitdagingen 
    FROM 
        ts_lad_uitdagingen 
    WHERE  
        uitgedaagde = '97' 
        AND acceptdatum IS NULL 
        AND afwijsdatum IS NULL      
END

【讨论】:

感谢您的评论,但我写道我已经尝试过了。

以上是关于保存存储过程时出错[重复]的主要内容,如果未能解决你的问题,请参考以下文章

SQLSERVER创建该存储过程时不会出错,但是执行存储过程时报错

创建存储过程时出错

更新EDMX文件时出错

连接到 Tableau 中的存储过程时出错

从 java 调用存储过程时出错

运行存储过程时出错