为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL函数中创建临时表

MySQL函数中创建临时表

qq_花开花谢_0 2018-11-08 18:18:38
我们都知道,在MySQL创建函数的时候,是不能返回table类型的数据的。我有几个疑问:1、在function中我首先创建一个临时表:create temporary table table_tmp (id int,name varchar(20));然后再对table_tmp进行赋值:select id ,name into table_tmp from user;这里会报错,说table_tmp没有声明。2、既然上面说table_tmp没有声明,那么我首先声明一个table:declare table_tmp table(id int,name varchar(20));这里也会报错,说不能这样声明变量,那么是不是在function中不能声明表类型的变量呢?现在唯一的解决办法就是:create temporary table table_tmp select id,name from user;//但是这里不能添加自己的列有没有人能帮我解决下:①MySQL的函数中怎么声明一个table;②在MySQL的函数中怎么创建临时表;谢谢!
查看完整描述

2 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

试试下面的方法:

create temporary table table_tmp (id int,name varchar(20));insert into table_tmp (id, name) select id,name from user;


查看完整回答
反对 回复 2018-11-11
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

MySQL中可以这样:

CREATE TABLE new_tbl SELECT * FROM orig_tbl;


查看完整回答
反对 回复 2018-11-11
  • 2 回答
  • 0 关注
  • 1422 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信