下面是创建临时表的两种方法:
第一种方法(全新创建)——
create table #t(uid int,name varchar(100),sex varchar(100),city varchar(100));
详解:
create table意为创建表;
#t,意为表名是t,加#号,表示此表为临时表而非实体表;
括号中为字段定义,即字段名,类型,长度,各字段用英文逗号分隔。
第二种方法(复制创建)——
select uid,name,sex,city into #t from [users] where 1=2
详解:
select uid,name,sex,city意为选择这些字段;
into #t 意为插入到一个临时表中,表名为t,#号是表示临时表而非实体表;
from [users]表示创建的临时表是从表名为users的表中去复制;
where 1=2表示只复制表users的结构而不复制表中的数据,假如写为1=1则表示通过复制表结构来创建临时表的同时还要复制相关字段的所有数据。
我们在处理SQL查询的时候,往往需要创建临时表,多数情况下,表结构是一样的(或者部分字段一样),那么采用第二种方法创建无疑是最快最好的。(如果字段全部一样,字段就用*星号表示,若仅选择其中几个字段,则可以select uid,name,sex即可)。
如果临时表结构与库中现有表没有较多相似,则选择第一种方法来创建。
大家有什么好的方法,欢迎跟帖,或批评指正,3Q