2011-11-28 78 views
10

我想從select語句調用用戶定義的存儲過程,並給出錯誤。但是,當我調用系統過程時,它工作得很好。有沒有辦法從select語句中調用用戶定義的過程。這是爲MySQL從select語句調用用戶定義的存儲過程mysql

SELECT ID, email FROM user PROCEDURE simpleproc(); 

給我一個錯誤ERROR 1106(42000):未知過程 'simpleproc'

mysql> call simpleproc(); 

查詢OK,0行的影響(0.21秒)

其中作爲

SELECT ID, email FROM user PROCEDURE ANALYSE(); 

工作

+0

我可以看到這可能會令人困惑,PROCEDURE ANALYSE不是存儲過程請參閱http://dev.mysql.com/doc/refman/5.5/en/procedure-analyse.html – KCD

回答

-18

你可以調用存儲過程從select語句 ,要叫你必須使用下面的語法的過程:

 
CALL stored_procedure_name (param1, param2, ....) 

比如,你可以撥打以下步驟:

DELIMITER // 

CREATE PROCEDURE `procedure1`(IN var1 INT) 
BEGIN 
    SELECT var1 + 2 AS result; 
END// 

CALL procedure1(10); 

查看本網站以供參考:http://net.tutsplus.com/tutorials/an-introduction-to-stored-procedures/

+6

是 - 這就是你如何調用存儲過程。但是,選擇聲明? –

12

從存儲過程中選擇您在問題中編寫的方式是不可能的。見ThisThis

相關問題