Wie füge ich Tabellenwerte von einer Datenbank in eine andere Datenbank ein?


88

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.

Antworten:


148

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)

33

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

10

Hier ist eine schnelle und einfache Methode:

CREATE TABLE database1.employees
AS
SELECT * FROM database2.employees;

10
    --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. */

6

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


1
INSERT
INTO    remotedblink.remotedatabase.remoteschema.remotetable
SELECT  *
FROM    mytable

In relationalen Datenbanken gibt es kein "Ende der Tabelle".


0

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.


0

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;

0

Für SQL Server können Sie das Tool Daten aus einer anderen Datenbank importieren verwenden. Die Konfiguration von Zuordnungsspalten ist einfacher.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.