即使我创建了存储过程也不存在

Posted

技术标签:

【中文标题】即使我创建了存储过程也不存在【英文标题】:stored procedure does not exist even though i have created 【发布时间】:2013-08-01 12:36:00 【问题描述】:

我已经创建了如下的存储过程

DELIMITER //
CREATE PROCEDURE gsx(IN location varchar(100),IN start timestamp,IN end timestamp)
As
   BEGIN
   SELECT count(CustomerFeed.overall) as sat  FROM ContactCenter LEFT JOIN CustomerFeed ON ContactCenter.callId = CustomerFeed.callId
WHERE date(ContactCenter.callClose) BETWEEN start AND end
AND ContactCenter.callStatus = 'Close'
AND CustomerFeed.overall IN ( 1, 2 )
AND ContactCenter.location=location
and ContactCenter.gNum!='';
   END 
DELIMITER ;

但是我们通过调用类似的过程来执行

call gsx('HO Bangalore','2013-07-01','2013-07-06')

我得到的程序不存在

#1305 - PROCEDURE ampicare_crmdb.gsx 不存在但已成功执行

【问题讨论】:

我在这里看不到任何 php 【参考方案1】:

如果您创建的过程与所写的完全一样,则您错过了 END 之后的分隔符。最后两行应该是:

END //
DELIMITER ;

【讨论】:

不,您必须以设置的分隔符结束“CREATE PROCEDURE”:// 即使在放置 END 之后 // 同样的事情在重复 如何执行创建过程?你怎么知道它执行成功了? 运行创建过程查询后,我得到消息成功执行。但是在调用 m 时,得到 PROCEDURE ampicare_crmdb.gsx 不存在 你没有回答你是如何执行查询的。

以上是关于即使我创建了存储过程也不存在的主要内容,如果未能解决你的问题,请参考以下文章

Mysql存储过程导出

存储过程如果存在不给出正确答案

如果尚不存在则创建存储过程,但是不要更改并且不要删除现有的存储过程

如果存储过程尚不存在,则创建它,但不要更改也不要删除现有的存储过程

如何在创建存储过程之前检查 PERVASIVE 数据库中是不是存在存储过程?

存储过程不存在,是吗?