如何将select查询结果,插入临时表或者物理表?
来源:网络收集 点击: 时间:2024-05-11创建一个临时表,用于演示sqlserver数据库中,如何在查询的同时,将结果存入临时表或者物理表汇总。本文以存入临时表为例进行演示
IF OBJECT_ID(tempdb..#tbl1) IS NOT NULL DROP TABLE #tbl1;
CREATE TABLE #tbl1(
Col1 varchar(50),
Col2 varchar(50),
Col3 int
);

创建另外一个临时表,用于存放查询的结果数据
IF OBJECT_ID(tempdb..#tbl2) IS NOT NULL DROP TABLE #tbl2;
CREATE TABLE #tbl2(
Col1 varchar(50),
Col2 varchar(50),
Col3 int,
Col4 varchar(100)
);

往临时表中1插入几行测试数据,模拟待查询的数据源
insert into #tbl1(Col1, Col2, Col3) values(行1列1, 行1列2, 10);
insert into #tbl1(Col1, Col2, Col3) values(行2列1, 行2列2, 20);
insert into #tbl1(Col1, Col2, Col3) values(行3列1, 行3列2, 30);
insert into #tbl1(Col1, Col2, Col3) values(行4列1, 行4列2, 40);
insert into #tbl1(Col1, Col2, Col3) values(行5列1, 行5列2, 50);

查询临时表1中的测试数据
select * from #tbl1;

将临时表1的所有结果查询出来,全部插入到临时表2,这个时候就可以使用insert into ...select的语法形式
insert into #tbl2(Col1, Col2, Col3)
select Col1, Col2, Col3
from #tbl1

查询临时表2中插入的数据,从结果可以看出,表1中的所有数据都插入到了表2中
select * from #tbl2;

假设演示中的临时表2,事先没有创建,或者,它是一个屋里表,如何将临时表1的数据插入过来呢?此处演示将临时表1的数据,插入不存在的临时表3。这样就相当于完全拷贝表和数据
select *
into #tbl3
from #tbl1
查询临时表3的数据
select * from #tbl3;

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_735694.html