2010-08-17 190 views

回答

87

如何:

USE TargetDatabase 
GO 

INSERT INTO dbo.TargetTable(field1, field2, field3) 
    SELECT field1, field2, field3 
    FROM SourceDatabase.dbo.SourceTable 
    WHERE (some condition) 
1
INSERT 
INTO remotedblink.remotedatabase.remoteschema.remotetable 
SELECT * 
FROM mytable 

有在關係型數據庫的「表的末尾」沒有這樣的事。

19

如何將表值從一個服務器/數據庫插入到另一個數據庫?

1創建鏈接服務器{如果需要}(SQL服務器2008 R2 - 2012) http://technet.microsoft.com/en-us/library/ff772782.aspx#SSMSProcedure

2配置鏈接服務器使用憑證 一個)http://technet.microsoft.com/es-es/library/ms189811(v=sql.105).aspx

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

- 檢查服務器中

SELECT * FROM sys.servers 

- 測試鏈接服務器

EXEC sp_testlinkedserver N'NAMEOFLINKEDSERVER' 

INSERT INTO NEW本地表

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

OR

插入爲新值在遠程表

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

插入爲新局域表值

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

的選擇很不錯的編譯。謝謝!! – 2015-12-03 12:34:20

3

您可以嘗試

Insert into your_table_in_db1 select * from [email protected] 

db2SID是其他數據庫的SID。這將是目前在tnsnames.ora文件

9

這裏有一個快速簡便的方法:

CREATE TABLE database1.employees 
AS 
SELECT * FROM database2.employees; 
相關問題