2010-05-12 55 views
0

我第一次搞乱存储过程,但无法创建简单的选择!我使用phpMyAdmin,这是我的SQL:无法创建存储过程

DELIMITER // 
CREATE PROCEDURE test_select() 
BEGIN 
SELECT * FROM products LIMIT 10; 
END // 
DELIMITER ; 

提交在此之后,我的本地做了一些思考的时间过长...并最终装入没有叫/phpmyadmin/import.php内容的页面。重新加载phpMyAdmin并尝试调用该过程后:

CALL test_select(); 

我得到一个“PROCEDURE does not exist”错误。有任何想法吗?

回答

3

尝试使用phpMyAdmin的定界符字段,如下面的截图:

Trouble creating stored procedure http://img715.imageshack.us/img715/1152/mysproc.png

简单地说在查询窗口如下:

CREATE PROCEDURE test_select() 
BEGIN 
    SELECT * FROM products LIMIT 10; 
END 

另外请注意,某些旧版本的phpMyAdmin存在错误,当您调用包含SELECT的存储过程时可能会导致错误来自phpMyAdmin的声明。

您可能要检查的进一步阅读以下文章:

此错误只影响phpMyAdmin的,但你仍然可以调用存储程序从其他地方。

+0

这个问题实际上是我在查询时直接使用DELIMITER,当时我应该使用phpMyAdmin的UI来更改分隔符。你的第二个链接给了我答案,所以+1。正如它发生我也有phpMyAdmin错误。呸! – Mathew 2010-05-12 16:54:31