Ich möchte, dass eine Abfrage Datensätze von einer Tabelle in eine andere Tabelle in einer anderen Datenbank einfügt. Wenn die Zieltabelle bereits vorhanden ist, sollten die Datensätze am Ende der Tabelle angehängt werden.
quelle
Ich möchte, dass eine Abfrage Datensätze von einer Tabelle in eine andere Tabelle in einer anderen Datenbank einfügt. Wenn die Zieltabelle bereits vorhanden ist, sollten die Datensätze am Ende der Tabelle angehängt werden.
Wie wäre es damit:
USE TargetDatabase
GO
INSERT INTO dbo.TargetTable(field1, field2, field3)
SELECT field1, field2, field3
FROM SourceDatabase.dbo.SourceTable
WHERE (some condition)
Wie füge ich Tabellenwerte von einem Server / einer Datenbank in eine andere Datenbank ein?
1 Erstellen von Verbindungsservern {falls erforderlich} (SQL Server 2008 R2 - 2012) http://technet.microsoft.com/en-us/library/ff772782.aspx#SSMSProcedure
2 Konfigurieren Sie den Verbindungsserver für die Verwendung von Anmeldeinformationen. A) http://technet.microsoft.com/es-es/library/ms189811(v=sql.105).aspx
EXEC sp_addlinkedsrvlogin 'NAMEOFLINKEDSERVER', 'false', null, 'REMOTEUSERNAME', 'REMOTEUSERPASSWORD'
- SERVER PRÜFEN
SELECT * FROM sys.servers
- TEST LINKED SERVER
EXEC sp_testlinkedserver N'NAMEOFLINKEDSERVER'
IN NEUE LOKALE TABELLE EINFÜGEN
SELECT * INTO NEWTABLE
FROM [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
ODER
ALS NEUE WERTE IN DIE FERNTABELLE EINFÜGEN
INSERT
INTO [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
SELECT *
FROM localTABLE
ALS NEUE LOKALE TABELLENWERTE EINFÜGEN
INSERT
INTO localTABLE
SELECT *
FROM [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
Hier ist eine schnelle und einfache Methode:
CREATE TABLE database1.employees
AS
SELECT * FROM database2.employees;
--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. */
Du kannst es versuchen
Insert into your_table_in_db1 select * from your_table_in_db2@db2SID
db2SID ist die Seite einer anderen Datenbank. Es wird in der Datei tnsnames.ora vorhanden sein
INSERT
INTO remotedblink.remotedatabase.remoteschema.remotetable
SELECT *
FROM mytable
In relationalen Datenbanken gibt es kein "Ende der Tabelle".
Wenn beide Tabellen dasselbe Schema haben, verwenden Sie diese Abfrage: In Datenbankname einfügen.Tabellenname Wählen Sie * aus Neu_Datenbankname.Neu_Tabellenname wobei = 'Bedingung'
Ersetzen Sie Datenbankname durch den Namen Ihrer ersten Datenbank und Tabellenname durch den Namen der Tabelle, aus der Sie kopieren möchten. Ersetzen Sie auch new_database_name durch den Namen Ihrer anderen Datenbank, in die Sie kopieren möchten, und new_table_name ist der Name der Tabelle.
Mach es einfach.....
(Es wird dieselbe Tabellenstruktur wie von Tabelle zu Tabelle mit denselben Daten erstellt.)
create table toDatabaseName.toTableName as select * from fromDatabaseName.fromTableName;
Für SQL Server können Sie das Tool Daten aus einer anderen Datenbank importieren verwenden. Die Konfiguration von Zuordnungsspalten ist einfacher.