Создание индекса сценария TSQL, которое можно запустить повторно - PullRequest
0 голосов
/ 20 июля 2010

Я хочу иметь скрипт индексов, к которому я могу добавлять и перезапускать, когда новые таблицы добавляются в мою схему.По этой причине я хочу пропустить создание уже существующих индексов, но мне не удалось найти чистый способ обнаружить, что индекс уже существует.Я хочу сделать что-то вроде этого:

IF OBJECT_ID(N'[dbo].[Users].[IDX_LastName]', '') IS NULL
    CREATE INDEX [IDX_LastName] ON [dbo].[Users] 
    (
        [LastName] ASC
    )

1 Ответ

5 голосов
/ 20 июля 2010

Я думаю, что это будет делать то, что вам нужно, хотя я не уверен, что есть более сжатый способ.

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...