2013-10-15 31 views
3

是否可以使用Management Studio或Visual Studio爲SQL Server記錄生成單獨的INSERT語句?使用SSMS或VS 2012生成過濾的INSERT語句

您可以「生成腳本」來獲取SSMS中整個表的數據,但不僅僅是單行或過濾的一組行。

在Visual Studio 2012中,如果您在SQL Server對象資源管理器中選擇表格數據,則會出現一個「腳本」按鈕,該按鈕會爲網格結果生成插入語句,該語句爲200,1000或「全部」記錄 - 但我無法找到「WHERE」過濾器,就像在SSMS中一樣。

有什麼我不知道的技巧嗎?無論是SSMS還是VS都會很好 - 理想情況下,我可以過濾特定行或一組行,然後專門爲這些行生成INSERT語句。

還有SSMS工具包,RedGate,蟾蜍,我敢肯定少數其他付費產品可以做到這一點,但我希望有一些內置的方式。 (這個問題has been addressed before,但我能找到的所有東西都在2012年之前,所以可能從那時起就引入了一些東西)。

+0

你想如何過濾行,你想在一個表或多個表?你可以編寫一個查詢來爲你自己生成命令,但是我不知道這樣做的「工具」功能。 –

+0

@ Love2Learn bsivel的答案包含一個鏈接,指向某人編寫的用於處理這個問題的腳本 - 我過去實際做了類似的事情(但沒有完成)。理想情況下,我正在尋找的是以下兩件事之一:編輯行網格中的SSMS中的函數(包含過濾器),「生成腳本」或向WHERE過濾器添加WHERE過濾器的方法。只有一張桌子。我覺得SSMS給你一半的功能和VS的另一半是有趣的。 –

回答

1

是 - 使用生成腳本任務。

右鍵單擊對象資源管理器窗口中的數據庫。然後選擇任務和生成腳本。

選擇想要編寫腳本的對象,然後單擊下一步。然後單擊高級並轉到「要腳本的數據類型」。選擇僅數據或模式和數據(這些選擇將構建您的插入語句)。

這聽起來像你已經知道這個,但我不知道任何方式來應​​用過濾器生成的東西。

這是我在SqlServerCentral上找到的一個腳本。雖然這是專爲SQL Server的2K,它值得一看:

http://vyaskn.tripod.com/code/generate_inserts.txt

+0

謝謝,我會研究這個過程 - 它可能是一個替代方案。 –

0

可能是這個答案是太晚了,那些使用2012最近誰開始會有所幫助。

在VS 2012中,轉到SQL Server對象資源管理器。選擇數據庫,然後列出該數據庫中的表。然後選擇您想要創建的特定/特定表格腳本。然後右鍵單擊該表格並選擇ViewData選項。然後,在顯示/結果網格的頂部,Maxrow右側,您可以看到兩個圖標。兩者都在生成腳本。一個在屏幕上,另一個在文件中。

+0

不幸的是,當我右鍵單擊表格時,我的選項中沒有「ViewData」選項。你有擴展裝置嗎? (我認爲我們希望找到一個不包含「安裝擴展」的解決方案。) – RobertB

+1

@RobertB我不認爲這需要擴展,但我相信它需要Premium或Ultimate版本。 – jlnorsworthy