web-dev-qa-db-fra.com

Copier les données dans une autre table

Comment copier/ajouter des données d'une table dans une autre table avec le même schéma dans SQL Server?

Edit:

Je veux dire qu'il y a une requête

select * 
into table1 
from table2 
where 1=1 

qui crée table1 avec le même schéma ainsi que les mêmes données que dans table2.

Y at-il une requête courte comme celle-ci pour ne copier que des données entières uniquement dans une table déjà existante?

129
Rajaram Shelar

Si les deux tables sont vraiment le même schéma:

INSERT INTO newTable
SELECT * FROM oldTable

Sinon, vous devrez spécifier les noms des colonnes (la liste des colonnes pour newTable est facultative si vous spécifiez une valeur pour toutes les colonnes et que vous sélectionnez des colonnes dans le même ordre que le schéma newTable:):

INSERT INTO newTable (col1, col2, col3)
SELECT column1, column2, column3
FROM oldTable
267
lc.

C'est la bonne façon de le faire:

INSERT INTO destinationTable
SELECT * FROM sourceTable
14
Zzz
INSERT INTO table1 (col1, col2, col3)
SELECT column1, column2, column3
FROM table2                                        
9
user3566871

Essaye ça:

INSERT INTO MyTable1 (Col1, Col2, Col4)
   SELECT Col1, Col2, Col3 FROM MyTable2
8
Abe Miessler

Manière simple si la nouvelle table n’existe pas et que vous voulez faire une copie de l’ancienne table avec tout ce qui suit, cela fonctionne dans SQL Server.

SELECT * INTO NewTable FROM OldTable
6
Satish Patel

Essaye ça:

Insert Into table2
Select * from table1
5
Kapil Khandelwal
INSERT INTO DestinationTable(SupplierName, Country)
SELECT SupplierName, Country FROM SourceTable;

Les noms de colonne ne doivent pas obligatoirement être identiques.

3
S.Adikaram

Insérer la colonne sélectionnée avec condition

INSERT INTO where_to_insert (col_1,col_2) SELECT col1, col2 FROM from_table WHERE condition;

Copiez toutes les données d'une table à une autre avec le même nom de colonne.

INSERT INTO where_to_insert 

SELECT * FROM from_table WHERE condition;

2
Nimmi Verma