0
這裏的第一篇文章......使用IF NOT EXISTS創建函數
我有很多,我每次都要手動運行當我安裝的SSRS報表套件創建缺少的功能和存儲過程的SQL腳本。
理想情況下,我想在一段代碼中自動執行此操作,因此查看了IF NOT EXIST語句。
我的想法是......檢查函數退出,如果Y移動到下一個腳本,如果N,運行CREATE FUNCTION腳本,然後移動到下一個腳本:
IF NOT EXISTS
(SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID(N'[report].[fnR_ActiveCustomers]')
AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
CREATE FUNCTION [report].[fnR_ActiveCustomers]
(... etc etc
當我開始這個我得到:「創建函數必須是批處理中唯一的語句」。
任何人都可以幫助我嗎?
感謝 李
你確定這個工程? – Shnugo
是的,它會工作。 GO用作批分隔符,以便Create語句將位於單獨的批處理中,也是批處理中的第一條語句。 –
試試看...沒有低於IF的DROP在第一批沒有意義... – Shnugo