存在,我有以下一个非聚集索引:如何检查,如果在SQL Server 2005
CREATE NONCLUSTERED INDEX [MyTableIndex]
ON [dbo].[tablename] ([tablename_ID],[tablename_Field1])
INCLUDE ([Tablename_Field2],[Tablename_Field3])
我想创建一个if语句来检查如果存在的话。我该怎么做呢?
存在,我有以下一个非聚集索引:如何检查,如果在SQL Server 2005
CREATE NONCLUSTERED INDEX [MyTableIndex]
ON [dbo].[tablename] ([tablename_ID],[tablename_Field1])
INCLUDE ([Tablename_Field2],[Tablename_Field3])
我想创建一个if语句来检查如果存在的话。我该怎么做呢?
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
我建议还检查object_id(按照AdaTheDev的答案)作为索引名称不唯一。 – mcNux 2015-06-02 14:10:04
的可能的复制http://stackoverflow.com/questions/2689766/how-do-you-check-if-a-certain-index-exists-in -a表 – 2013-05-21 01:38:13