有沒有什麼辦法可以將表和proc的「Alter」語句更改爲「Drop if exists」當構建吐出腳本? 使用Visual Studio 2010 Ultimate。 TFS 2010.Visual Studio 2010數據庫生成刪除如果存在
回答
我相信你所指的代碼是從一個模板生成的。
看吧......
C:\ Program Files文件\微軟的Visual Studio 10.0 \ Common7 \工具\模板\數據庫項目項
和修改這兩個文件。
- 新表Script.sql
- 新的存儲過程Script.sql
嗯或許,但我認爲這可能是在數據庫項目中創建腳本/表格時使用的模板,而不是模式比較器使用的模板。 –
聽起來很有希望。會讓你知道,並將其標記爲答案,如果有效的話。 –
手續已經在第一次你會看到什麼創建後,該工具獲取代碼從/讀取數據庫,不再是您可以編輯的腳本;當然,您可以將所顯示的任何內容複製/粘貼到文本編輯器中,並將其另存爲SQL文件(.sql擴展名)。
如果您嘗試此示例代碼
IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'usp_test_proc')
BEGIN
DROP Procedure usp_test_proc
END
ALTER PROCEDURE dbo.usp_test_proc
/*
(
@parameter1 int = 5,
@parameter2 datatype OUTPUT
)
*/
AS
/* SET NOCOUNT ON */
select name, comment from test_table
RETURN
,你會得到這樣的信息:
「無法保存對象,因爲語句類型不支持它必須與創建或更改開始。」
我建議你創建自己的SQL程序文件,並添加頂部的存在statment,例如:
IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'usp_test_proc')
BEGIN
DROP Procedure usp_test_proc
END
CREATE PROCEDURE usp_test_proc
/*
(
@parameter1 int = 5,
@parameter2 datatype OUTPUT
)
*/
AS
/* SET NOCOUNT ON */
select name, comment from test_table
RETURN
這樣,你可以編輯/改變你的SQL代碼文件在您方便的然後就重建過程通過Visual Studio菜單'數據/ Transact-SQL編輯器/新查詢連接'打開一個新的查詢連接,打開SQL文件並單擊執行SQL工具欄按鈕(綠色箭頭)來連接到您的數據庫。
將看看這個。 –
我建議使用CREATE-ALTER而不是DROP-CREATE,以避免丟失和重新創建時可能已應用於存儲過程的權限。使用CREATE-ALTER,初始檢查是IF NOT EXISTS,然後創建一個簡單的僞處理程序。然後腳本的主要部分是ALTER PROC。我在這裏給出了示例代碼:http://stackoverflow.com/a/15911851/216440 –
- 1. 在Visual Studio 2010數據庫項目中生成種子數據
- 2. visual studio 2010自動生成數據集
- 3. 在Visual Studio 2010中替換/擴展Visual Studio的生成存根
- 4. 刪除對Visual Studio 2010中不存在的數據庫的引用
- 5. Visual Studio 2010宏從數據庫項目中刪除SQL文件
- 6. 使用Visual Studio 2010數據庫項目刪除表格
- 7. Visual Studio 2010數據庫項目腳本生成
- 8. Visual Studio 2010數據庫項目和代碼生成
- 9. 在刪除Visual Studio 2010之後刪除Visual Studio 2010的SP1升級
- 10. Visual Studio 2010 - 導入數據庫的數據庫項目無法生成
- 11. Visual Studio 2010數據庫項目數據
- 12. 在visual studio 2010中生成錯誤C++
- 13. 在visual studio 2010中生成類圖express
- 14. 在Visual Studio 2010中預生成
- 15. Visual Studio 2010單元測試數據庫
- 16. Visual Studio 2010數據庫項目部署
- 17. 創建數據庫問題,Visual Studio 2010
- 18. 數據庫項目:Visual Studio 2008 vs 2010
- 19. LAN中的visual studio 2010數據庫
- 20. Visual Studio 2010數據庫項目!
- 21. Visual Studio 2010數據庫部署
- 22. Visual Studio 2010 CxxTest:如果測試失敗會失敗生成
- 23. visual studio 2010中的本地數據庫緩存在哪裏?
- 24. 防止在Visual Studio 2010上刪除用戶生成的內容發佈
- 25. visual studio 2010安裝項目 - 刪除動態數據
- 26. Visual Studio 2010無法刪除數據連接
- 27. 刪除Visual Studio 2010中的.pdb文件
- 28. 如何在Visual Studio中清理生成期間刪除dlldata.c?
- 29. Android Realm數據庫刪除生成器
- 30. 如何刪除存儲在Visual Studio中的數據庫連接字符串?
我很難從你的問題中告訴你用什麼工具來生成腳本。我回答了這個問題,但我不確定這些腳本是否是VS使用的腳本。 –