是否可以在视图中调用存储过程?

发布于 2024-11-03 09:46:10 字数 203 浏览 1 评论 0原文

此处提出了有关 sql-server 的类似问题。我想知道在 MySql 中是否可能。

编辑:

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

A similar question about sql-server has been asked here. I'm wondering if its possible in MySql.

edit:

I want to use result set returned from procedure in view.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你与清晨阳光 2024-11-10 09:46:10

如果您想获取结果集并在 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

If you want to get result-set and use routine in FROM clause - NO. Stored routines (procedures or functions) in MySQL cannot return tables as result value.

But you can use functions as simple values, for example -

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文