-
Sie machen verschiedene Dinge. Verwenden Sie
INSERTwenn die Tabelle existiert. Verwenden SieSELECT INTOwenn nicht. -
Ja.
INSERTohne Tabellenhinweise wird normalerweise protokolliert.SELECT INTOwird minimal protokolliert, vorausgesetzt, die richtigen Trace-Flags sind gesetzt. -
Meiner Erfahrung nach
SELECT INTOwird am häufigsten mit Zwischendatensätzen verwendet, wie#tempTabellen, oder um eine ganze Tabelle wie für ein Backup herauszukopieren.INSERT INTOwird 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.