Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Insérer toutes les valeurs d'une table dans une autre table en SQL

L'instruction d'insertion a en fait une syntaxe pour faire exactement cela. C'est beaucoup plus facile si vous spécifiez les noms des colonnes plutôt que de sélectionner "*" :

INSERT INTO new_table (Foo, Bar, Fizz, Buzz)
SELECT Foo, Bar, Fizz, Buzz
FROM initial_table
-- optionally WHERE ...

Je ferais mieux de clarifier cela car, pour une raison quelconque, ce message reçoit quelques votes négatifs.

La syntaxe INSERT INTO ... SELECT FROM s'applique lorsque la table dans laquelle vous insérez ("new_table" dans mon exemple ci-dessus) existe déjà. Comme d'autres l'ont dit, la syntaxe SELECT ... INTO sert à créer la nouvelle table dans le cadre de la commande.

Vous n'avez pas spécifié si la nouvelle table doit être créée dans le cadre de la commande, donc INSERT INTO ... SELECT FROM devrait convenir si votre table de destination existe déjà.