Je veux qu'une requête insère des enregistrements d'une table à une autre table dans une base de données différente si la table de destination existe déjà, elle doit ajouter les enregistrements à la fin de la table.
sql
sql-server-2005
integration
append
Naveenkumar
la source
la source
Comment insérer des valeurs de table d'un serveur / base de données vers une autre base de données?
1 Création de serveurs liés {si besoin} (SQL Server 2008 R2 - 2012) http://technet.microsoft.com/en-us/library/ff772782.aspx#SSMSProcedure
2 configurer le serveur lié pour utiliser les informations d'identification a) http://technet.microsoft.com/es-es/library/ms189811(v=sql.105).aspx
- VÉRIFIER LES SERVEURS
SELECT * FROM sys.servers
- TEST DES SERVEURS LIÉS
INSÉRER DANS UNE NOUVELLE TABLE LOCALE
SELECT * INTO NEWTABLE FROM [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
OU
INSÉRER COMME NOUVELLES VALEURS DANS LA TABLE À DISTANCE
INSERT INTO [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE SELECT * FROM localTABLE
INSÉRER COMME NOUVELLES VALEURS DU TABLEAU LOCAL
INSERT INTO localTABLE SELECT * FROM [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
la source
Voici une méthode simple et rapide:
CREATE TABLE database1.employees AS SELECT * FROM database2.employees;
la source
--Code for same server USE [mydb1] GO INSERT INTO dbo.mytable1 ( column1 ,column2 ,column3 ,column4 ) SELECT column1 ,column2 ,column3 ,column4 FROM [mydb2].dbo.mytable2 --WHERE any condition /* steps- 1- [mydb1] means our opend connection database 2- mytable1 the table in mydb1 database where we want insert record 3- mydb2 another database. 4- mytable2 is database table where u fetch record from it. */ --Code for different server USE [mydb1] SELECT * INTO mytable1 FROM OPENDATASOURCE ( 'SQLNCLI' ,'Data Source=XXX.XX.XX.XXX;Initial Catalog=mydb2;User ID=XXX;Password=XXXX' ).[mydb2].dbo.mytable2 /* steps - 1- [mydb1] means our opend connection database 2- mytable1 means create copy table in mydb1 database where we want insert record 3- XXX.XX.XX.XXX - another server name. 4- mydb2 another server database. 5- write User id and Password of another server credential 6- mytable2 is another server table where u fetch record from it. */
la source
Tu peux essayer
Insert into your_table_in_db1 select * from your_table_in_db2@db2SID
db2SID est le sid d'une autre base de données. Il sera présent dans le fichier tnsnames.ora
la source
INSERT INTO remotedblink.remotedatabase.remoteschema.remotetable SELECT * FROM mytable
Il n'y a pas de «fin de table» dans les bases de données relationnelles.
la source
Si les deux tables ont le même schéma, utilisez cette requête: insert into database_name.table_name select * from new_database_name.new_table_name where = 'condition'
Remplacez nom_base_de_données par le nom de votre première base de données et nom_table par le nom de la table à partir de laquelle vous souhaitez copier.Remplacez également new_database_name par le nom de votre autre base de données où vous souhaitez copier et new_table_name est le nom de la table.
la source
Simplement fais-le.....
(Cela créera la même structure de table que de table que de table avec les mêmes données)
create table toDatabaseName.toTableName as select * from fromDatabaseName.fromTableName;
la source
Pour SQL Server, vous pouvez utiliser l'outil Importer des données à partir d'une autre base de données, il est plus facile de configurer les colonnes de mappage.
la source
Nous avons principalement besoin de ce type de requête dans le script de migration
INSERT INTO db1.table1(col1,col2,col3,col4) SELECT col5,col6,col7,col8 FROM db1.table2
Dans cette requête, le nombre de colonnes doit être le même dans les deux tables
la source