mysql 存储过程中创建临时表 查询临时表问题

发布于 2021-11-21 11:53:26 字数 360 浏览 756 评论 10

select  temp1.aa ,temp2.bb
from ( 
select tt.id ,tt.a as aa from temp as tt
) as temp1
left join (
select te.id,te.b as bb from temp as te
) as temp2 on temp1.id = temp2.id
执行到最后

Procedure execution failed

1137 - Can't reopen table: 'tt'


这是为什?高手指点一下

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

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

发布评论

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

评论(10

终遇你 2021-11-24 18:51:03

回复
我是创建普通的表,create table。视图也是没有索引的,我感觉不好用。 存储过程调用存储过程我没写过。我估计是这样。 set @result=exec procedure(@val),具体还要看mysql文档了

冷默言语 2021-11-24 18:51:03

mysql中存储过程调用另一个存储过程如何写啊?

掩饰不了的爱 2021-11-24 18:51:03

你是创建视图吗??使用时查询视图??

百思不得你姐 2021-11-24 18:50:37

存储过程里面的临时表可以用无数次。

眼眸 2021-11-24 18:40:58

回复
是吗??可有案例啊??我的为什么联合查询同一张表时报这个错误啊??

剑心龙吟 2021-11-24 18:13:09

回复
存储过程里面,只要临时表没有被drop 之前,想怎么用就怎么用。

梦中楼上月下 2021-11-24 16:06:22

回复
光说没有用啊!!!给个案例

悸初 2021-11-23 21:56:08

回复
在同一个query语句中,你只能查找一次临时表。例如:下面的就不可用   mysql> SELECT * FROM temp_table, temp_table AS t2;   ERROR 1137: Can't reopen table: 'temp_table'

瑾夏年华 2021-11-23 12:09:31

临时表只能引用一次

沙与沫 2021-11-22 07:28:27

on
 temp1.id = te.id 好像是这里不对吧

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