Alasan Anda memasukkan WHERE 1=2
klausa dalam SELECT INTO
kueri itu adalah untuk membuat salinan bidang dari tabel yang ada tanpa data .
Jika Anda melakukan ini:
select *
into Table2
from Table1
Table2
akan menjadi duplikat yang tepat dari Table1
, termasuk baris data. Tetapi jika Anda tidak ingin data yang terkandung di dalamnya Table1
, dan Anda hanya ingin struktur tabel, Anda meletakkan aWHERE
klausa untuk menyaring semua data.
SELECT INTO
Kutipan Referensi BOL :
PILIH… INTO membuat tabel baru di grup grup default dan menyisipkan baris yang dihasilkan dari kueri ke dalamnya.
Jika Anda WHERE
klausa tidak memiliki baris yang dihasilkan, tidak ada yang akan dimasukkan ke dalam tabel baru: Oleh karena itu, Anda berakhir dengan skema duplikat dari tabel asli tanpa data (yang akan menjadi hasil yang diinginkan dalam kasus ini).
Efek yang sama dapat dicapai dengan TOP (0)
, misalnya:
select top (0) *
into Table2
from Table1;
Catatan : Itu SELECT INTO
tidak akan menduplikasi indeks, kendala, pemicu, atau skema partisi tabel sumber.