在MySQL中开发存储的proc时,如何创建包含自定义视图中的行结果集的局部变量?
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语句时调用视图,因为我觉得代价很高
发布于 2017-01-03 20:02:37
你不需要这些。可以包含所有不同的条件,因为OR条件(OR)使用的UNION ALL查询如下
create temporary table tbltemp as
SELECT (...) FROM temptable WHERE cond1 or cond2 OR ... OR condn根据您的注释,取决于;如果您试图获取标量值,那么是的,否则不会,因为不止一个记录不能存储在标量变量中。您必须使用temp table或连接表。
你可能需要编辑你的帖子,包括更多关于你想要达到的目标的信息。
发布于 2017-01-03 20:15:52
我不能对@Rahul的回答发表评论(没有50名代表),但是请看这个,它支持他所说的:http://dev.mysql.com/doc/refman/5.7/en/view-algorithms.html
https://stackoverflow.com/questions/41451097
复制相似问题