如何將數據從一個表複製/附加到SQL Server中具有相同模式的另一個表中?將數據複製到另一個表
編輯:
我的意思是說,在完成查詢
select *
into table1
from table2
where 1=1
它具有相同的架構和數據作爲table2
創建table1
。
是否有像這樣的簡短查詢僅將整個數據複製到已存在的表中?
如何將數據從一個表複製/附加到SQL Server中具有相同模式的另一個表中?將數據複製到另一個表
編輯:
我的意思是說,在完成查詢
select *
into table1
from table2
where 1=1
它具有相同的架構和數據作爲table2
創建table1
。
是否有像這樣的簡短查詢僅將整個數據複製到已存在的表中?
如果兩個表是真正相同的模式:
INSERT INTO newTable
SELECT * FROM oldTable
否則,您必須指定列名(newTable
列列表是可選的,如果您正在指定所有列的值並按與newTable
的架構相同的順序選擇列):
INSERT INTO newTable (col1, col2, col3)
SELECT column1, column2, column3
FROM oldTable
如果我想爲某些列輸入'空白數據' ?? – BNN
@coder它只是一個select子句,所以你可以隨意放置任何你想要的東西,包括明確的'NULL',字符串常量,表達式,甚至子查詢。 –
只要新表應該已經存在。 –
試試這個:
INSERT INTO MyTable1 (Col1, Col2, Col4)
SELECT Col1, Col2, Col3 FROM MyTable2
這是做正確的方法:
INSERT INTO destinationTable
SELECT * FROM sourceTable
謝謝,這是我想要的方式,從一個表複製數據到另一個同一個表,但數據庫是differtent。非常感謝 – sushu
試試這個:
Insert Into table2
Select * from table1
INSERT INTO table1 (col1, col2, col3)
SELECT column1, column2, column3
FROM table2
INSERT INTO DestinationTable(SupplierName, Country)
SELECT SupplierName, Country FROM SourceTable;
不強制列名是相同的。
只是爲了獲得完整的信息,小心這個命令不要複製表的索引和觸發器! 參見以下職位副本的索引和觸發器腳本: Programmatically copy indexes from one table to another in SQL Server
這真的是一個評論,而不是一個答案。有了更多的代表,[你將能夠發表評論](// stackoverflow.com/privileges/comment)。目前,我已經爲您添加了評論,並且我將此帖標記爲刪除。 – LaurentY
如果新表不存在簡單的方式,你想使舊錶的副本在SQL Server中的一切,然後以下工作。
SELECT * INTO NewTable FROM OldTable
如何解決這個問題? (INSERT INTO newTable(col1,col2,col3,col4)values ((SELECT column1,column2,column3 FROM oldTable where condition),'string');' – 2017-10-31 04:07:00