sqlserver
创建一个临时表,用于演示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中的测试数据select * from #tbl1;
将临时表1的所有结果查询出来,全部插入到临时表2,这个时候就可以使用insert into ...select的语法形式insert into #tbl2(Col1, Col2, Col3)select Col1, Col2, Col3from #tbl1
查询临时表2中插入的数据,从结果可以看出,表1中的所有数据都插入到了表2中select * from #tbl2;
假设演示中的临时表2,事先没有创建,或者,它是一个屋里表,如何将临时表1的数据插入过来呢?此处演示将临时表1的数据,插入不存在的临时表3。这样就相当于完全拷贝表和数据select *into #tbl3from #tbl1查询临时表3的数据select * from #tbl3;