2010-07-20 53 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) 
相关问题