【问题标题】:Is it possible to call stored procedure in view?是否可以在视图中调用存储过程?
【发布时间】:2011-08-13 13:23:22
【问题描述】:

here 提出了一个关于 sql-server 的类似问题。我想知道它是否可能在 MySql 中。

编辑:

我想在视图中使用从过程返回的结果集。

【问题讨论】:

  • This thread 可能会有所帮助。简而言之,是的,您可以使用视图定义主体中使用的函数来实现。
  • @dawebber:我之前看过这个帖子,但我不确定它是否相关。它似乎告诉如何在视图中调用带有参数的存储函数。如果我错了,请纠正我。
  • 您是不是特别想给 SP 打电话?我确实在回答中提到了函数这个词,因为我不想假设您特别想调用 SP。

标签: mysql stored-procedures view


【解决方案1】:

如果您想获得结果集并在 FROM 子句中使用例程 - 否。 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

【讨论】:

  • 我认为你的第一句话回答了我的问题。我想在视图中使用过程中的结果集。我也编辑了这个问题。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-09
  • 2012-10-24
  • 2012-05-24
  • 1970-01-01
相关资源
最近更新 更多