我希望有一个索引脚本,我可以追加到并重新运行,因为新表已添加到我的架构中。出于这个原因,我想跳过创建已经存在的索引,但我一直无法找到一种干净的方法来检测索引已经存在。我想做的是这样的事情:
IF OBJECT_ID(N'[dbo].[Users].[IDX_LastName]', '') IS NULL
CREATE INDEX [IDX_LastName] ON [dbo].[Users]
(
[LastName] ASC
)
答案 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)