可以重新运行的TSQL脚本索引创建

时间:2010-07-20 18:12:04

标签: tsql scripting indexing

我希望有一个索引脚本,我可以追加到并重新运行,因为新表已添加到我的架构中。出于这个原因,我想跳过创建已经存在的索引,但我一直无法找到一种干净的方法来检测索引已经存在。我想做的是这样的事情:

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

1 个答案:

答案 0 :(得分: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)