phpmyadmin运行mysql存储过程,但没有输出
我编写了一个非常简单的存储过程,如下所示:phpmyadmin运行mysql存储过程,但没有输出,mysql,stored-procedures,phpmyadmin,Mysql,Stored Procedures,Phpmyadmin,我编写了一个非常简单的存储过程,如下所示: DROP PROCEDURE IF EXISTS GetAllTours; DELIMITER // CREATE PROCEDURE GetAllTours() BEGIN SELECT * FROM tours; END // DELIMITER ; 当我使用 CALL GetAllTours(); 从SQL查询运行此过程时,没有输出 但是,如果我从>例程>>执行,同样的过程,将有成功的输出 有谁能告诉我如何从SQL查询
DROP PROCEDURE IF EXISTS GetAllTours;
DELIMITER //
CREATE PROCEDURE GetAllTours()
BEGIN
SELECT * FROM tours;
END //
DELIMITER ;
当我使用
CALL GetAllTours();
从SQL查询运行此过程时,没有输出
但是,如果我从>例程>>执行,同样的过程,将有成功的输出
有谁能告诉我如何从SQL查询中运行并获得结果吗?首先,我认为您正在尝试创建一个视图。请看这里:
要从过程返回数据,请使用OUT参数。
上面链接中的示例:
mysql> CREATE PROCEDURE simpleproc (OUT param1 INT)
-> BEGIN
-> SELECT COUNT(*) INTO param1 FROM t;
-> END//
mysql> CALL simpleproc(@a);
mysql> SELECT @a;
您可以使用以下查询:
调用GetAllTours
这是一个命令行测试。这篇文章是关于phpMyAdmin的电话。一年多后给出-1的风格很棒,因为你没有正确阅读问题。。。OP问:“有人能告诉我如何从SQL查询运行并获得结果吗?”他指的是SQL查询,这是phpMyAdmin中的一个选项卡。我也在努力解决同样的问题。这里的主要问题是程序可能不是您想要解决的。过程并不意味着返回过滤后的数据集。很可能您需要一个视图或函数(如果您希望返回单个标量)。看看这里:也许我可以通过聊天更好地看看你的问题,以防止污染这个话题。
mysql> CREATE PROCEDURE simpleproc (OUT param1 INT)
-> BEGIN
-> SELECT COUNT(*) INTO param1 FROM t;
-> END//
mysql> CALL simpleproc(@a);
mysql> SELECT @a;