Was ist der Unterschied zwischen der Verwendung
SELECT ... INTO MyTable FROM...
und
INSERT INTO MyTable (...)
SELECT ... FROM ....
?
Aus BOL [ INSERT , SELECT ... INTO ] weiß ich, dass mit SELECT ... INTO die Einfügetabelle für die Standarddateigruppe erstellt wird, sofern diese noch nicht vorhanden ist, und dass die Protokollierung für diese Anweisung von der Wiederherstellung abhängt Modell der Datenbank.
- Welche Aussage ist vorzuziehen?
- Gibt es andere Auswirkungen auf die Leistung?
- Was ist ein guter Anwendungsfall für SELECT ... INTO über INSERT INTO ...?
Bearbeiten: Ich habe bereits angegeben, dass ich weiß, dass SELECT INTO ... eine Tabelle erstellt, in der es nicht existiert. Ich möchte wissen, dass SQL diese Anweisung aus einem bestimmten Grund enthält. Was ist das? Tut es etwas anderes hinter den Kulissen, um Zeilen einzufügen, oder ist es nur syntaktischer Zucker über einem CREATE TABLE
und INSERT INTO
.
INSERT INTO
Zwei Schlüsselwörter (select & into) stehen ganz vorne, die die Welt wissen lassen, dass dies keine gewöhnliche SQL-Anweisung ist, während sieSELECT ... INTO
zumindest wie eine gewöhnliche SQL-Anweisung aussieht. Ein kleiner Grund, den ersteren zu bevorzugen.