Sql-Server
將每個條目從 TableA 複製到 TableB,其中 ID 位於包含 ID 列表的文本文件中
我有一個包含 35k 行的文本文件(或 xls),每行包含一個
ID
. 我需要將每個條目複製TableA
到TableB
所述ID
列表中的位置。如果我創建一個帶有 ID 的新表,以便
TableC
在查詢中將此表用作WHERE ID IN TableC
?如果是這樣,用 txt 文件中的 ID 填充新表的最簡單方法是什麼?或者有沒有辦法在查詢中使用文本文件或列表本身?
我認為像這樣的查詢應該是合適的,但我不知道如何使用文本文件。
SELECT * INTO TableB FROM TableA WHERE ID IN text_file
使用 Microsoft SQL Server Enterprise Edition v9.00.3042.00,即 SQL Server 2005 Service Pack 2
我知道的最簡單的方法是在 tempdb 中創建一個帶有單列(例如 id)的表,然後在 SSMS 中展開 tempdb 節點並找到該表。右鍵點擊並選擇“編輯前 200 行”。
將出現一個網格。選擇左側行標題的整個第一行,然後粘貼文件的全部內容。
BCP 是將文件內容載入到目標表的另一種方法。在這種情況下,我發現它比在 SSMS 中複製和粘貼文件內容更容易。
您還可以使用 OPENROWSET 或其他技術在查詢中直接引用文件,但這需要將文件複製到伺服器或弄亂權限:一次性任務太麻煩了。