猿问

MySQL函数中创建临时表

我们都知道,在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的函数中怎么创建临时表;

谢谢!


qq_花开花谢_0
浏览 1423回答 2
2回答

四季花海

试试下面的方法:create temporary table table_tmp (id int,name varchar(20));insert into table_tmp (id, name) select id,name from user;

素胚勾勒不出你

MySQL中可以这样:CREATE TABLE new_tbl SELECT * FROM orig_tbl;
随时随地看视频慕课网APP

相关分类

MySQL
我要回答