从选择语句 mysql 调用用户定义的存储过程

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/8290157/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 21:50:14  来源:igfitidea点击:

Calling a user defined stored procedure from select statement mysql

mysqlstored-proceduresselect

提问by Vicky Singh

I am trying to call a user defined stored procedure from a select statement and its giving me an error. However when I call a system procedure it works just fine. Is there a way to call a user defined procedure from a select statement. This is for mysql

我试图从 select 语句中调用用户定义的存储过程,它给了我一个错误。但是,当我调用系统过程时,它工作得很好。有没有办法从 select 语句中调用用户定义的过程。这是用于 mysql

SELECT ID, email FROM user PROCEDURE simpleproc();

give me an error ERROR 1106 (42000): Unknown procedure 'simpleproc'

给我一个错误 ERROR 1106 (42000): Unknown procedure 'simpleproc'

mysql> call simpleproc();

Query OK, 0 rows affected (0.21 sec)

查询正常,0 行受影响(0.21 秒)

where as

然而

SELECT ID, email FROM user PROCEDURE ANALYSE();

works

作品

采纳答案by Sudhir Bastakoti

You can call stored procedure from select statement,To call a procedure you must use following syntax:

您可以从 select 语句中调用存储过程,要调用过程,您必须使用以下语法:

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

Such as, you can CALL following procedure:

例如,您可以调用以下程序:

DELIMITER //

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

as

作为

CALL procedure1(10);

Check this site for reference: http://net.tutsplus.com/tutorials/an-introduction-to-stored-procedures/

检查此站点以供参考:http: //net.tutsplus.com/tutorials/an-introduction-to-stored-procedures/