-
Sie machen verschiedene Dinge. Verwenden Sie
INSERT
wenn die Tabelle existiert. Verwenden SieSELECT INTO
wenn nicht. -
Ja.
INSERT
ohne Tabellenhinweise wird normalerweise protokolliert.SELECT INTO
wird minimal protokolliert, vorausgesetzt, die richtigen Trace-Flags sind gesetzt. -
Meiner Erfahrung nach
SELECT INTO
wird am häufigsten mit Zwischendatensätzen verwendet, wie#temp
Tabellen, oder um eine ganze Tabelle wie für ein Backup herauszukopieren.INSERT INTO
wird verwendet, wenn Sie in eine vorhandene Tabelle mit bekannter Struktur einfügen.
BEARBEITEN
Um Ihre Bearbeitung zu adressieren, tun sie verschiedene Dinge. Wenn Sie eine Tabelle erstellen und die Struktur definieren möchten, verwenden Sie CREATE TABLE
und INSERT
. Beispiel für ein Problem, das erstellt werden kann:Sie haben eine kleine Tabelle mit einem varchar-Feld. Die größte Zeichenfolge in Ihrer Tabelle ist jetzt 12 Bytes groß. Ihr realer Datensatz benötigt bis zu 200 Bytes. Wenn Sie SELECT INTO
ausführen aus Ihrer kleinen Tabelle, um eine neue zu erstellen, das spätere INSERT
schlägt mit einem Abschneidefehler fehl, da Ihre Felder zu klein sind.