在做数据筛选分析的时候,经常需要借助临时表暂存数据,那么,使用select查询出来的结果,如何直接插入到另外的临时表,或者物理表呢?
工具/原料
sqlserver
方法/步骤
1、创建一个临时表,用于演示sqlserver数据库中,如何在查询的同时,将结果存入临时表或藤舔趾贶者物理表汇总。本文以存入临时表为例进行演示IFOBJECT_ID('tem禊诬娱飑pdb..#tbl1')ISNOTNULLDROPTABLE#tbl1;CREATETABLE#tbl1(Col1varchar(50),Col2varchar(50),Col3int);
2、创建另外一个临时表,用于存放查询的结果数据IFOBJECT_ID('tempdb..#tbl2')ISNOTNULLDROPTABLE#tbl2;CREATETABLE#tbl2(Col1varchar(50),Col2varchar(50),Col3int,Col4varchar(100));
3、往临时表中1插入几行测试数据,模拟饶主碌妒待查询的数据源insertinto#tbl1(Col1,Col2,Col3)values(刻八圄俏9;行1列1','行1列2',10);insertinto#tbl1(Col1,Col2,Col3)values('行2列1','行2列2',20);insertinto#tbl1(Col1,Col2,Col3)values('行3列1','行3列2',30);insertinto#tbl1(Col1,Col2,Col3)values('行4列1','行4列2',40);insertinto#tbl1(Col1,Col2,Col3)values('行5列1','行5列2',50);
4、查询临时表1中的测试数据select*from#tbl1;
5、将临时表1的所有结果查询出来,全部插入到临时表2,这个时候就可以使用insertinto...select的语法形式insertinto#tbl2(Col1,Col2,Col3)selectCol1,Col2,Col3from#tbl1
6、查询临时表2中插入的数据,从结果可以看出,表1中的所有数据都插入到了表2中select*from#tbl2;
7、假设演示中的临时表2,事先没有创建,或者,它是一个屋里表,如何将临时表1的数据插入过来呢?此处演示将临时表1的数据,插入不存在的临时表3。这样就相当于完全拷贝表和数据select*into#tbl3from#tbl1查询临时表3的数据select*from#tbl3;