2014-04-29 46 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