Как проверить, существует ли некластерный индекс в SQL Server 2005
У меня есть следующее:
CREATE NONCLUSTERED INDEX [MyTableIndex]
ON [dbo].[tablename] ([tablename_ID],[tablename_Field1])
INCLUDE ([Tablename_Field2],[Tablename_Field3])
Я хочу создать оператор if, чтобы проверить, существует ли он. Как мне это сделать?
2 ответа
Решение
IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name = 'MyTableIndex' AND object_id = OBJECT_ID('tablename'))
BEGIN
-- Index with this name, on this table does NOT exist
END
Попробуй это:
IF NOT EXISTS(SELECT * FROM sys.indexes WHERE Name = 'MyTableIndex')
-- put your CREATE INDEX statement here