J'ai deux bases de données, l'une s'appelle Natalie_playground
et l'autre LiveDB
. Puisque je veux m'exercer à insérer, mettre à jour des choses, je veux copier certaines des tables de la LiveDB
à Natalie_playground
.
Les tables que je veux copier sont appelées: Customers, Computers, Cellphones, Prices
Ce que j’ai essayé de faire, c’est que (avec SSMS) faites un clic droit sur une table mais qu’il n’y ait pas de copie dedans!
En supposant que vous ayez deux bases de données, par exemple A et B:
Si la table cible n'existe pas, le script suivant créera (je ne le recommande pas de cette façon):
SELECT table_A.FIELD_1, table_A.FIELD_2,......, table_A.FIELD_N
INTO COPY_TABLE_HERE
FROM A.dbo.table_from_A table_A
Si la table cible existe, alors:
INSERT INTO TABLE_TARGET
SELECT table_A.FIELD_1, table_A.FIELD_2,......, table_A.FIELD_N
FROM A.dbo.table_from_A table_A
Remarque: si vous voulez apprendre et pratiquer cela, vous pouvez utiliser les scripts précédents, mais si vous souhaitez copier la structure complète et les données d'une base de données sur une autre, vous devez utiliser "Sauvegarde et restauration de la base de données" ou "Générer une base de données de scripts avec des données" et exécutez ceci dans une autre base de données.
Faites un clic droit sur votre base de données -> sous Tâches choisissez Générez des scripts , suivez les instructions de l'assistant, choisissez vos tables et cochez la case "" Données de table de script "(ou similaire), générez-la à un script SQL et exécutez-le sur votre autre base de données.
Vous pouvez également essayer l'assistant d'importation/exportation SQL Server. Si les tables cible n'existent pas déjà, elles seront créées lors de l'exécution de l'Assistant.
Consultez MSDN pour plus de détails http://msdn.Microsoft.com/en-us/library/ms141209.aspx
J'ai trouvé un moyen facile à partir d'un autre blog. J'espère que cela pourrait être utile.
Select * into DestinationDB.dbo.tableName from SourceDB.dbo.SourceTable
http://www.codeproject.com/Tips/664327/Copy-Table-Schema-and-Data-From-One-Database-to-An
Essaye ça:
Si la table cible existe:
SELECT SourceTableAlias.*
INTO TargetDB.dbo.TargetTable
FROM SourceDB.dbo.SourceTable SourceTableAlias
Et si la table cible n’existe pas:
INSERT INTO TargetDB.dbo.TargetTable
SELECT SourceTableAlias.*
FROM SourceDB.dbo.SourceTable SourceTableAlias
Bonne chance!
essaye ça
USE TargetDatabase
GO
INSERT INTO dbo.TargetTable(field1, field2, field3)
SELECT field1, field2, field3
FROM SourceDatabase.dbo.SourceTable
WHERE (some condition)
Si vous souhaitez copier uniquement le schéma des tables, vous pouvez ajouter une condition fausse à la fin des requêtes mentionnées.
ex.
SELECT table_A.FIELD_1, ..., table_A.FIELD_N
INTO LiveDB.custom_table
FROM Natalie_playground.dbo.custom_table table_A
WHERE 0 > 1