2011-04-27 89 views
3

有关sql-server的类似问题已被要求here。我想知道如果它可能在MySql中。是否可以调用存储过程?

编辑:

我想用鉴于从程序返回的结果集。

+0

[这个线程(http://stackoverflow.com/questions/2281890/can-i-create-view-with-parameter -in-mysql)可能会有所帮助。总之,是的,你可以用视图定义主体中使用的函数来实现。 – dawebber 2011-04-27 04:50:36

+0

@dawebber:我早些时候看过这个帖子,但我不确定它是否相关。它似乎告诉如何调用带有参数的存储函数。如果我错了,请纠正我。 – understack 2011-04-27 05:00:00

+0

你是否特意打电话给SP?我在我的答案中提到了函数这个词,因为我不想假设你特别想打电话给SP。 – dawebber 2011-04-27 05:06:56

回答

3

如果您想获得结果集并在FROM子句中使用例程 - NO。 MySQL中存储的例程(过程或函数)不能返回表作为结果值。

但是你可以使用功能简单的值,例如 -

DELIMITER $$ 

CREATE FUNCTION mul10(Param1 INT) 
RETURNS INT(11) 
BEGIN 
    RETURN Param1 * 10; 
END 
$$ 

DELIMITER ; 

CREATE OR REPLACE VIEW view1 
AS 
SELECT mul10(2) AS column1; 

SELECT column1 FROM view1; 
---------- 
20 
+0

我认为你的第一句话回答了我的问题。我想在过程中使用结果集。我也编辑了这个问题。谢谢。 – understack 2011-04-27 05:36:50

相关问题