簡體   English   中英

在SQL Server 2008的同一數據庫中制作表的副本,然后更新內容

[英]Make a copy of a table in the same database of SQL Server 2008 and then update the contents

我想在SQL Server 2008的同一個數據庫中制作一個表的副本。

然后,用另一個txt文件替換新表的內容。 txt文件與新表具有相同的列標題。

我知道如何手動創建一個新表。

但是,txt文件非常大,我想通過腳本來完成。

更新

我創建了一個具有相同標題的新表,但是如何將.txt文件中的數據加載到表中?

當我使用批量插入時:

BULK INSERT [dbo].[my_new_table]
FROM '\\ServerName\myPath\myFile.csv'

我收到了錯誤:

無法批量加載,因為無法打開文件“\\ ServerName \\ myPath \\ myFile.csv”。
操作系統錯誤代碼3(系統找不到指定的路徑。)

我已將文件復制到本地C:但是,同樣的錯誤。

現在,UNC路徑不起作用。 SQL Server無法看到本地驅動器。

任何幫助,將不勝感激。

這是創建新表的快捷方法:

SELECT TOP 0 *
INTO [NewTableName]
FROM [OldTableName];

請注意,這僅涵蓋列名和類型,並忽略觸發器,索引,約束等功能。如果需要這些附加項,可以通過右鍵單擊原始表並選擇Script Table As - 從Management Studio執行此操作。 > Create to - > New Query Editor Window 在創建的查詢窗口中,只需更改表名並運行查詢。

對於導入文本數據,沒有太多未提供用於給出良好響應的內容,但是BULK INSERT語句可能值得研究。


查看您的編輯,運行SQL Server服務的帳戶需要有權訪問該文件共享。 如果您先在本地復制文件,並且使用xml格式文件告訴sql server有關文本文件中的字段,那么您將獲得最好的運氣。 請務必閱讀並理解文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM