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.
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.
Jawaban:
Bagaimana dengan ini:
USE TargetDatabase
GO
INSERT INTO dbo.TargetTable(field1, field2, field3)
SELECT field1, field2, field3
FROM SourceDatabase.dbo.SourceTable
WHERE (some condition)
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
--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. */
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.
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;
Untuk SQL Server, Anda dapat menggunakan alat Impor Data dari Database lain, Lebih mudah untuk mengkonfigurasi kolom pemetaan.
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