Как проверить, существует ли некластерный индекс в SQL Server 2005 - PullRequest
57 голосов
/ 03 мая 2011

У меня есть следующее:

CREATE NONCLUSTERED INDEX [MyTableIndex]
ON [dbo].[tablename] ([tablename_ID],[tablename_Field1])
INCLUDE ([Tablename_Field2],[Tablename_Field3])

Я хочу создать оператор if, чтобы проверить, существует ли он.Как мне это сделать?

Ответы [ 2 ]

128 голосов
/ 03 мая 2011
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
14 голосов
/ 03 мая 2011

Попробуйте это:

IF NOT EXISTS(SELECT * FROM sys.indexes WHERE Name = 'MyTableIndex')
   -- put your CREATE INDEX statement here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...