Answers:
您WHERE 1=2
在该SELECT INTO
查询中放入该子句的原因是创建不包含data的现有表的字段副本。
如果您这样做:
select *
into Table2
from Table1
Table2
将与完全相同Table1
,包括数据行。但是,如果您不想要包含在中的数据Table1
,而只想要表结构,则可以放置一个WHERE
子句以过滤掉所有数据。
SELECT…INTO在默认文件组中创建一个新表,并将查询产生的行插入其中。
如果您的WHERE
子句没有结果行,则不会将任何行插入新表:因此,您最终将得到原始表的重复模式,而没有数据(在这种情况下,这将是所需的结果)。
使用可以达到相同的效果TOP (0)
,例如:
select top (0) *
into Table2
from Table1;
注意:SELECT INTO
不会复制源表的索引,约束,触发器或分区模式。