【问题标题】:MySQL View, get result from stored procedureMySQL查看,从存储过程中获取结果
【发布时间】:2017-10-05 04:03:25
【问题描述】:

我想在MySQL上创建一个视图,内容会从存储过程中读取,是这样的吗?

这意味着当我执行“mystoredProcedure()”时我会收到一个结果列表,我可以使用视图表来执行它,所以结果将直接显示在视图表上。

如果您有任何其他解决方案,请告诉我。

感谢您的帮助。

谢谢

【问题讨论】:

  • 视图只能包含 SQL SELECT 查询,不能包含 CALL 语句。

标签: mysql stored-procedures view


【解决方案1】:

我认为这是不可能的。 CREATE VIEW 的语法需要SELECT 语句,但存储过程是用CALL 语句执行的。

【讨论】:

  • 从sql函数中获取存储过程结果如何?这可能吗?
  • 不行,一个函数只能返回一个值,不能多行多列。
  • 好的,谢谢你的帮助,如果你有其他方法可以做到,也许你可以分享给我。谢谢
  • 如果我能想到任何东西,我会把它放在答案中。我真的不认为这是可能的。
【解决方案2】:

如果您有权访问存储过程,则可以在过程中执行以下操作:

CREATE OR REPLACE TEMPORARY TABLE tmpData (id int PRIMARY KEY, name varchar(50)) ENGINE=MEMORY;

然后插入你要返回的数据。

当你想使用结果甚至在某个地方加入它时,只需call ABC,然后你可以引用 tmpData 表。

注意:临时表仅在您的会话中可见,不会干扰其他表,但最好将它们命名为尽可能唯一,这样就不会隐藏任何具有相同名称的真实表。我总是使用 tmp 前缀。

【讨论】:

    猜你喜欢
    • 2018-12-27
    • 2013-09-15
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多