Der Grund, warum Sie die WHERE 1=2
Klausel in diese SELECT INTO
Abfrage einfügen, besteht darin, eine Feldkopie der vorhandenen Tabelle ohne Daten zu erstellen .
Wenn du das getan hast:
select *
into Table2
from Table1
Table2
wäre ein genaues Duplikat Table1
, einschließlich der Datenzeilen. Wenn Sie jedoch nicht möchten, dass die Daten enthalten sind Table1
, sondern nur die Tabellenstruktur, setzen Sie eine WHERE
Klausel, um alle Daten herauszufiltern.
BOL SELECT INTO
Referenzzitat :
SELECT… INTO erstellt eine neue Tabelle in der Standarddateigruppe und fügt die resultierenden Zeilen aus der Abfrage in diese ein.
Wenn Ihre WHERE
Klausel keine resultierenden Zeilen enthält, wird keine in die neue Tabelle eingefügt: Daher erhalten Sie das doppelte Schema der ursprünglichen Tabelle ohne Daten (was in diesem Fall das gewünschte Ergebnis wäre).
Der gleiche Effekt kann TOP (0)
zum Beispiel erzielt werden mit :
select top (0) *
into Table2
from Table1;
Hinweis : Die SELECT INTO
Indizes, Einschränkungen, Trigger oder das Partitionsschema der Quellentabelle werden nicht dupliziert.