我有兩個數據庫,一個叫做Natalie_playground
,另一個叫LiveDB
。 由於我想練習插入,更新的東西,我想複製一些從LiveDB
表Natalie_playground
表。SQL Server將表從一個數據庫複製到另一個
我要複製的表稱爲: Customers, Computers, Cellphones, Prices
我試圖做的是,(使用SSMS)右鍵單擊一個表,但是沒有複製在那裏!
我有兩個數據庫,一個叫做Natalie_playground
,另一個叫LiveDB
。 由於我想練習插入,更新的東西,我想複製一些從LiveDB
表Natalie_playground
表。SQL Server將表從一個數據庫複製到另一個
我要複製的表稱爲: Customers, Computers, Cellphones, Prices
我試圖做的是,(使用SSMS)右鍵單擊一個表,但是沒有複製在那裏!
假設你有兩個數據庫,例如,A和B:
如果目標表不存在,下面的腳本將創建(我不推薦這種方式):
SELECT table_A.FIELD_1, table_A.FIELD_2,......, table_A.FIELD_N
INTO COPY_TABLE_HERE
FROM A.dbo.table_from_A table_A
如果目標表存在,那麼:
INSERT INTO TABLE_TARGET
SELECT table_A.FIELD_1, table_A.FIELD_2,......, table_A.FIELD_N
FROM A.dbo.table_from_A table_A
注意:如果您想學習和練習此操作,可以使用以前的腳本,但是如果要將完整的結構和數據從數據庫複製到另一個腳本,則應使用「備份和恢復數據庫」或「使用腳本生成數據庫數據「並將其運行到另一個數據庫中。
你能做到這一點不選擇字段名稱是否明確? –
右鍵單擊您的數據庫 - >下任務選擇生成腳本,按照嚮導,選擇你的表格和選中該複選框,上面寫着「腳本表數據」(或類似)產生它的SQL腳本並在其他數據庫上執行它。
您還可以嘗試SQL Server導入/導出嚮導。如果目標表已不存在,則在運行嚮導時會創建目標表。
退房MSDN更多細節http://msdn.microsoft.com/en-us/library/ms141209.aspx
可能是最簡單和最不耗時的。 +1 – LegendaryDude
試試這個
USE TargetDatabase
GO
INSERT INTO dbo.TargetTable(field1, field2, field3)
SELECT field1, field2, field3
FROM SourceDatabase.dbo.SourceTable
WHERE (some condition)
我發現從其他博客的簡單方法。希望這可能會有所幫助。
Select * into DestinationDB.dbo.tableName from SourceDB.dbo.SourceTable
http://www.codeproject.com/Tips/664327/Copy-Table-Schema-and-Data-From-One-Database-to-An
如果你只想複製表的模式,你可以添加一個虛假的條件中提到的查詢結束。
ex。
SELECT table_A.FIELD_1, ..., table_A.FIELD_N
INTO LiveDB.custom_table
FROM Natalie_playground.dbo.custom_table table_A
WHERE 0 > 1
試試這個:
如果目標表存在:
SELECT SourceTableAlias.*
INTO TargetDB.dbo.TargetTable
FROM SourceDB.dbo.SourceTable SourceTableAlias
如果目標表不存在:
INSERT INTO TargetDB.dbo.TargetTable
SELECT SourceTableAlias.*
FROM SourceDB.dbo.SourceTable SourceTableAlias
祝您好運!
在兩個數據庫中是否存在相同的表(具有相同的結構)?只有你想傳遞一個數據? –
[SQL Server 2008:將所有表的內容從一個數據庫複製到另一個數據庫]的可能的重複(http://stackoverflow.com/questions/4028104/sql-server-2008-copying-the-contents-of-all從一個數據庫到另一個)和[如何將一個表從數據庫複製到SQL Server中的另一個數據庫/表](http://stackoverflow.com/q/187770/62576)它們列在你的問題右側的「相關」列表中。 === >>>在發佈一個新問題之前,請至少進行一次基本搜索,以查看它之前是否已被詢問(並回答過)。謝謝。 –
@natalia,肯有理由,對於這個問題,通常答案已經存在。謝謝。 –