Bagaimana cara memasukkan nilai tabel dari satu database ke database lain? [Tutup]

90

Saya ingin kueri untuk memasukkan catatan dari satu tabel ke tabel lain dalam database yang berbeda jika tabel tujuan sudah ada, itu harus menambahkan catatan di akhir tabel.

naveenkumar
sumber

Jawaban:

157

Bagaimana dengan ini:

USE TargetDatabase
GO

INSERT INTO dbo.TargetTable(field1, field2, field3)
   SELECT field1, field2, field3
     FROM SourceDatabase.dbo.SourceTable
     WHERE (some condition)
marc_s
sumber
3
10 tahun kemudian ... masih dihargai.
Chris Catignani
@ChrisCatignani: terima kasih! Beberapa jawaban dibuat untuk selama-lamanya ;-)
marc_s
33

Bagaimana cara memasukkan nilai tabel dari satu server / database ke database lain?

1 Membuat Server Tertaut {jika perlu} (SQL server 2008 R2 - 2012) http://technet.microsoft.com/en-us/library/ff772782.aspx#SSMSProcedure

2 konfigurasikan server tertaut untuk menggunakan Kredensial a) http://technet.microsoft.com/es-es/library/ms189811(v=sql.105).aspx

EXEC sp_addlinkedsrvlogin 'NAMEOFLINKEDSERVER', 'false', null, 'REMOTEUSERNAME', 'REMOTEUSERPASSWORD'

- PERIKSA SERVER

SELECT * FROM sys.servers

- UJI SERVER TERKAIT

EXEC sp_testlinkedserver N'NAMEOFLINKEDSERVER'

SISIPKAN KE TABEL LOKAL BARU

SELECT * INTO NEWTABLE
FROM [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE

ATAU

MASUKKAN SEBAGAI NILAI BARU DI TABEL JAUH

INSERT
INTO    [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
SELECT  *
FROM    localTABLE

MASUKKAN SEBAGAI NILAI TABEL LOKAL BARU

INSERT
INTO    localTABLE
SELECT  *
FROM    [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
OzzKr
sumber
10

Berikut metode cepat dan mudah:

CREATE TABLE database1.employees
AS
SELECT * FROM database2.employees;
Cillín
sumber
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. */
Sagar Mahajan
sumber
6

Anda dapat mencoba

Insert into your_table_in_db1 select * from your_table_in_db2@db2SID 

db2SID adalah sid dari DB lainnya. Ini akan ada di file tnsnames.ora

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

Tidak ada yang namanya "ujung tabel" dalam database relasional.

Quassnoi
sumber
0

Jika kedua tabel memiliki skema yang sama, gunakan kueri ini: masukkan ke database_name.table_name pilih * from new_database_name.new_table_name where = 'condition'

Ganti database_name dengan nama database pertama Anda dan nama_tabel dengan nama tabel yang ingin Anda salin, juga ganti nama_database_baru dengan nama database lain tempat Anda ingin menyalin dan nama_tabel_baru adalah nama tabel.

Ghazali
sumber
0

Lakukan saja.....

(Ini akan membuat struktur tabel yang sama seperti dari tabel ke tabel dengan data yang sama)

 create table toDatabaseName.toTableName as select * from fromDatabaseName.fromTableName;
Imranmadbar
sumber
0

Untuk SQL Server, Anda dapat menggunakan alat Impor Data dari Database lain, Lebih mudah untuk mengkonfigurasi kolom pemetaan.

Lê Văn Hiếu
sumber
0

Sebagian besar kita membutuhkan jenis kueri ini dalam skrip migrasi

INSERT INTO  db1.table1(col1,col2,col3,col4)
SELECT col5,col6,col7,col8
  FROM db1.table2

Dalam jumlah kolom query ini harus sama di kedua tabel

Akshay Bhardwaj
sumber