【问题标题】:phpmyadmin run mysql stored procedure but no outputphpmyadmin 运行 mysql 存储过程但没有输出
【发布时间】:2014-06-14 18:30:24
【问题描述】:

我写了一个非常简单的存储过程如下:

DROP PROCEDURE IF EXISTS GetAllTours;

DELIMITER // 

CREATE PROCEDURE GetAllTours() 

BEGIN 

SELECT * FROM tours; 

END // 

DELIMITER ;

当我使用时

CALL GetAllTours(); 

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

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

谁能告诉我如何运行 SQL 查询并获得结果?

【问题讨论】:

    标签: mysql stored-procedures phpmyadmin


    【解决方案1】:

    您可以只使用以下查询: 致电GetAllTours

    【讨论】:

      【解决方案2】:

      首先,我认为您正在尝试创建一个视图。看看这里: 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;
      

      【讨论】:

      • 这是一个命令行测试。 OP 是关于从 phpMyAdmin 调用的。
      • 一年多后给出-1的好风格,因为你没有正确阅读问题...... OP问:'谁能告诉我如何从SQL查询运行并获得结果?
      • 他的意思是SQL查询,那是phpMyAdmin中的一个标签。我正在努力解决同样的问题。
      • 这里的主要问题是程序可能不是您想要解决的问题。过程并不意味着返回过滤数据集。您很可能需要一个视图或一个函数(如果您想返回单个标量)。看看这里:stackoverflow.com/questions/3744209/…也许我可以通过聊天更好地了解您的问题,以防止污染该主题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 2015-07-01
      • 2018-07-08
      • 2020-02-26
      • 2015-03-16
      • 1970-01-01
      • 2018-03-24
      相关资源
      最近更新 更多