首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL存储的Proc -为视图中的结果行分配变量

问MySQL存储的Proc -为视图中的结果行分配变量
EN

Stack Overflow用户
提问于 2017-01-03 19:38:53
回答 2查看 47关注 0票数 0

在MySQL中开发存储的proc时,如何创建包含自定义视图中的行结果集的局部变量?

代码语言:javascript
复制
SET temptable = 'view'; #non scalar value (rows)

#Perform multiple queries on view now

SET @a = (SELECT (...) FROM temptable WHERE ....);

SET @b = (SELECT (...) FROM temptable WHERE ....);

SET @c = (SELECT (...) FROM temptable WHERE ....);

我不想每次做select语句时调用视图,因为我觉得代价很高

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-03 20:02:37

你不需要这些。可以包含所有不同的条件,因为OR条件(OR)使用的UNION ALL查询如下

代码语言:javascript
复制
create temporary table tbltemp as
SELECT (...) FROM temptable WHERE cond1 or cond2 OR ... OR condn

根据您的注释,取决于;如果您试图获取标量值,那么是的,否则不会,因为不止一个记录不能存储在标量变量中。您必须使用temp table或连接表。

你可能需要编辑你的帖子,包括更多关于你想要达到的目标的信息。

票数 2
EN

Stack Overflow用户

发布于 2017-01-03 20:15:52

我不能对@Rahul的回答发表评论(没有50名代表),但是请看这个,它支持他所说的:http://dev.mysql.com/doc/refman/5.7/en/view-algorithms.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41451097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档