2014-04-29 27 views
6

我写如下一个非常简单的存储过程:的phpmyadmin运行MySQL的存储过程,但没有输出

DROP PROCEDURE IF EXISTS GetAllTours; 

DELIMITER // 

CREATE PROCEDURE GetAllTours() 

BEGIN 

SELECT * FROM tours; 

END // 

DELIMITER ; 

当我使用

CALL GetAllTours(); 

从SQL查询来运行这个程序,没有输出。

但是,如果我从>>Routines>>Execute运行,相同的程序,将有成功的输出。

任何人都可以告诉我如何从SQL查询运行并获得结果吗?

回答

-1

首先,我认为你正在尝试创建一个视图。看看这里: http://dev.mysql.com/doc/refman/5.0/en/create-view.html

mysql> CREATE VIEW GetAllActiveTours AS SELECT * FROM tours where active=1; 
mysql> select * from GetAllActiveTours; 

从一个过程返回的数据使用OUT参数。从上面的链接 http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html

例如:

mysql> CREATE PROCEDURE simpleproc (OUT param1 INT) 
    -> BEGIN 
    -> SELECT COUNT(*) INTO param1 FROM t; 
    -> END// 
mysql> CALL simpleproc(@a); 
mysql> SELECT @a; 
+0

这是一个命令行测试。 OP是关于从phpMyAdmin调用的。 – texnic

+0

一年多之后给予-1的伟大风格,因为你没有正确地阅读这个问题...... OP问道:'有人能告诉我如何从SQL查询运行并得到结果吗?' – nvanesch

+0

他的意思是SQL查询,这是phpMyAdmin中的一个选项卡。我正在努力解决同样的问题。 – texnic

1

你可以使用此查询: CALL GetAllTours