Quelle est la différence entre l'utilisation
SELECT ... INTO MyTable FROM...
et
INSERT INTO MyTable (...)
SELECT ... FROM ....
?
De BOL [ INSERT , SELECT ... INTO ], je sais que l'utilisation de SELECT ... INTO créera la table d'insertion sur le groupe de fichiers par défaut s'il n'existe pas déjà, et que la journalisation de cette instruction dépend de la récupération modèle de la base de données.
- Quelle déclaration est préférable?
- Y a-t-il d'autres implications sur les performances?
- Quel est un bon cas d'utilisation de SELECT ... INTO sur INSERT INTO ...?
Edit: J'ai déjà déclaré que je sais que ce SELECT INTO ... crée une table là où elle n'existe pas. Ce que je veux savoir, c'est que SQL inclut cette instruction pour une raison, qu'est-ce que c'est? Est-ce qu'il fait quelque chose de différent dans les coulisses pour insérer des lignes, ou est-ce juste du sucre syntaxique au-dessus d'un CREATE TABLE
et INSERT INTO
.
INSERT INTO
a deux mots clés (select & into) à l'avant qui permettent au monde de savoir qu'il ne s'agit pas d'une instruction SQL ordinaire, alors qu'elleSELECT ... INTO
commence, au moins, à ressembler à une instruction SQL ordinaire. Une petite raison de privilégier le premier.