-
Fanno cose diverse. Usa
INSERT
quando la tabella esiste. UsaSELECT INTO
quando non lo fa. -
Sì.
INSERT
senza suggerimenti per la tabella viene normalmente registrato.SELECT INTO
viene 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#temp
tabelle o per copiare un'intera tabella come per un backup.INSERT INTO
viene 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.