可以重新运行的TSQL脚本索引创建
我想要一个索引脚本,当新表添加到我的模式中时,我可以将其附加到并重新运行。出于这个原因,我想跳过创建已经存在的索引,但我一直无法找到一种干净的方法来检测索引是否已经存在。我想做的是这样的:可以重新运行的TSQL脚本索引创建,tsql,scripting,indexing,Tsql,Scripting,Indexing,我想要一个索引脚本,当新表添加到我的模式中时,我可以将其附加到并重新运行。出于这个原因,我想跳过创建已经存在的索引,但我一直无法找到一种干净的方法来检测索引是否已经存在。我想做的是这样的: IF OBJECT_ID(N'[dbo].[Users].[IDX_LastName]', '') IS NULL CREATE INDEX [IDX_LastName] ON [dbo].[Users] ( [LastName] ASC ) 我认为这将满足您的需要
IF OBJECT_ID(N'[dbo].[Users].[IDX_LastName]', '') IS NULL
CREATE INDEX [IDX_LastName] ON [dbo].[Users]
(
[LastName] ASC
)
我认为这将满足您的需要,尽管我不确定是否有更简洁的方法
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)
我认为这将满足您的需要,尽管我不确定是否有更简洁的方法
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)