web-dev-qa-db-fra.com

Comment vérifier si un index non cluster existe dans SQL Server 2005

J'ai les éléments suivants:

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

Je veux créer une instruction if pour vérifier si elle existe. Comment puis-je faire cela?

58
user532104
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
129
AdaTheDev

Essaye ça:

IF NOT EXISTS(SELECT * FROM sys.indexes WHERE Name = 'MyTableIndex')
   -- put your CREATE INDEX statement here
14
marc_s