-
Fanno cose diverse. Usa
INSERTquando la tabella esiste. UsaSELECT INTOquando non lo fa. -
Sì.
INSERTsenza suggerimenti per la tabella viene normalmente registrato.SELECT INTOviene registrato in minima parte presupponendo che siano impostati i flag di traccia appropriati. -
Nella mia esperienza
SELECT INTOè più comunemente usato con set di dati intermedi, come#temptabelle o per copiare un'intera tabella come per un backup.INSERT INTOviene utilizzato quando si inserisce in una tabella esistente con una struttura nota.
MODIFICA
Per indirizzare la tua modifica, fanno cose diverse. Se stai creando una tabella e vuoi definire la struttura usa CREATE TABLE e INSERT . Esempio di un problema che può essere creato:hai una piccola tabella con un campo varchar. La stringa più grande nella tua tabella ora è di 12 byte. Il tuo set di dati reale avrà bisogno di un massimo di 200 byte. Se fai SELECT INTO dal tuo tavolino per crearne uno nuovo, il successivo INSERT fallirà con un errore di troncamento perché i tuoi campi sono troppo piccoli.