Причина, по которой вы помещаете WHERE 1=2
предложение в этот SELECT INTO
запрос, состоит в том, чтобы создать копию поля существующей таблицы без данных .
Если вы сделали это:
select *
into Table2
from Table1
Table2
будет точной копией Table1
, включая строки данных. Но если вам не нужны данные, содержащиеся в нем Table1
, и вы просто хотите структуру таблицы, вы помещаете WHERE
предложение, чтобы отфильтровать все данные.
BOL SELECT INTO
Ссылка цитата:
SELECT… INTO создает новую таблицу в файловой группе по умолчанию и вставляет в нее результирующие строки из запроса.
Если в вашем WHERE
предложении нет результирующих строк, ни одна из них не будет вставлена в новую таблицу: следовательно, вы получите дублирующую схему исходной таблицы без данных (что в данном случае будет желаемым результатом).
Тот же эффект может быть достигнут TOP (0)
, например, с помощью:
select top (0) *
into Table2
from Table1;
Примечание : SELECT INTO
не будет дублировать индексы, ограничения, триггеры или схему исходной таблицы.