Qual'è la differenza tra using
SELECT ... INTO MyTable FROM...
e
INSERT INTO MyTable (...)
SELECT ... FROM ....
?
Da BOL [ INSERISCI , SELEZIONA ... INTO ], so che l'uso di SELEZIONA ... INTO creerà la tabella di inserimento nel gruppo di file predefinito se non esiste già e che la registrazione per questa istruzione dipende dal recupero modello del database.
- Quale affermazione è preferibile?
- Ci sono altre implicazioni sulle prestazioni?
- Qual è un buon caso d'uso per SELECT ... INTO su INSERT INTO ...?
Modifica: ho già affermato che so che SELECT INTO ... crea una tabella dove non esiste. Quello che voglio sapere è che SQL include questa affermazione per un motivo, che cos'è? Sta facendo qualcosa di diverso dietro le quinte per l'inserimento di righe o è solo zucchero sintattico in cima a un CREATE TABLE
e INSERT INTO
.
INSERT INTO
ha due parole chiave (seleziona e in) in primo piano che indicano al mondo che questa non è una normale istruzione SQL, mentreSELECT ... INTO
almeno inizia a sembrare una normale istruzione SQL. Un piccolo motivo per favorire il primo.