O motivo pelo qual você colocou a WHERE 1=2
cláusula nessa SELECT INTO
consulta é criar uma cópia de campo da tabela existente sem dados .
Se você fez isso:
select *
into Table2
from Table1
Table2
seria uma duplicata exata de Table1
, incluindo as linhas de dados. Mas se você não deseja que os dados contidos Table1
e apenas a estrutura da tabela, coloque uma WHERE
cláusula para filtrar todos os dados.
BOL SELECT INTO
Referência :
SELECT… INTO cria uma nova tabela no grupo de arquivos padrão e insere as linhas resultantes da consulta nele.
Se sua WHERE
cláusula não tiver linhas resultantes, nenhuma será inserida na nova tabela: Portanto, você terminará com o esquema duplicado da tabela original sem dados (o que seria o resultado desejado nesse caso).
O mesmo efeito pode ser alcançado com TOP (0)
, por exemplo:
select top (0) *
into Table2
from Table1;
Nota : O SELECT INTO
não duplicará os índices, restrições, gatilhos ou esquema de partição da tabela de origem.