2010-11-04 6 views
1

J'ai 2 bases de données dans SQL Server 2005. Je veux une fonctionnalité que j'ai la même structure de table dans 2 base de données par exemple j'ai une même table nommée comme testData dans 2 base de données nommé comme dbTest1 et dbTest2.comment importer des données à partir d'autres bases de données dans SQL Server 2005

Maintenant, je veux une seule requête à travers laquelle je peux ajouter tous les enregistrements de la table testData de la base de données dbTest2 dans la table testData de la base de données dbTest1.

J'ai essayé d'utiliser requête suivante

insert en valeurs dbTest1.testData select * from dbTest2.testData

mais cette requête ne fonctionne pas et donnant erreur.

J'ai aussi essayé

insert en valeurs select * from dbTest2.testData mais cela donne aussi erreur "Nom d'objet incorrect dbTest2.testData"

dbTest1.testData (col1, col2, de col3) pourrait une aide dans ce

Merci

Répondre

2

Remplacer dbTest2.testData avec dbTest2..testData - vous devez spécifier 3 choses (ou éventuellement quitter le milieu blanc pour dbo).

-à-dire

insert into dbTest1..testData 
select * from dbTest2..testData 

Si la table n'existe pas déjà dbTest1, vous pouvez le faire:

select * 
into dbTest1..testData 
from dbTest2..testData 
+0

merci CK .. ça a beaucoup marché pour moi. –

1

Vous devez spécifier tous les noms de colonnes dans la requête.

insert into dbTest1.dbo.testData(col1,col2,col3) select * from dbTest2.dbo.testData 
+0

Son donnant suite à une erreur "Nom d'objet incorrect dbTest2.testData" –

+0

-1 - vous n'avez pas besoin de spécifier les colonnes si vous avez la même structure dans les deux (bien qu'il soit conseillé de les protéger contre les changements). Le problème réel est quelque chose de différent selon ma réponse. – cjk

+0

@Sumit Gupta, ma faute, j'ai oublié de dbo, vérifiez la mise à jour de la réponse –

Questions connexes