큰 데이터베이스에서 엄청난 양의 인덱스를 생성/변경하고 있습니다. 인덱스가 이미있는 경우이 작업을 수행하십시오.인덱스가 존재하지 않으면 Drop_existing에서 오류가 발생합니다.
CREATE UNIQUE CLUSTERED
INDEX [table1_1] ON [dbo].[table1] ([col1], [col2], [col3])
WITH DROP_EXISTING ON [PRIMARY]
하지만 오류가없는 경우.
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'table1_1') DROP INDEX [table1].[table1_1]
CREATE UNIQUE CLUSTERED
INDEX [table1_1] ON [dbo].[table1] ([col1], [col2], [col3])
ON [PRIMARY]
그래서 질문은 내가 잘못 DROP_EXISTING 함께 사용하고 있습니다 :
그래서 나는 내 스크립트를 변경?
, 당신은 할 수 있습니다에 IF/ELSE를 이렇게 같은 : 인덱스가 존재하는 경우 (DROP_EXISTING없이) 생성 ELSE –
을 DROP_EXISTING로 만들 @ PhilipKelley 사실이지만이 코드는 Dublicate 코드를 만듭니다. 이 문제를 처리하기위한 추가 제안 사항이 있습니까? – Magier