2010-07-20 79 views
0

我想要一個索引腳本,我可以追加並重新運行,因爲新表被添加到我的模式中。出於這個原因,我想跳過創建已經存在的索引,但我一直無法找到一個乾淨的方式來檢測索引已經存在。我想要做的是這樣的:可以重新運行的TSQL腳本索引創建

IF OBJECT_ID(N'[dbo].[Users].[IDX_LastName]', '') IS NULL 
    CREATE INDEX [IDX_LastName] ON [dbo].[Users] 
    (
     [LastName] ASC 
    ) 

回答

5

我認爲這將做你所需要的,但我不確定是否有一個更簡潔的方式。

IF NOT EXISTS(SELECT * FROM sys.indexes WHERE 
    name = 'IDX_LastName' and object_id=object_id('[dbo].[Users]')) 
CREATE INDEX [IDX_LastName] ON [dbo].[Users] ([LastName] ASC) 
相關問題