Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Nomear índices dinamicamente no SQL Server 2005?


Este não é um problema. Os nomes de índice só precisam ser exclusivos dentro de um escopo de tabela, não globalmente nos escopos de tabela. Apenas os nomes de restrição devem ser exclusivos em um esquema de banco de dados inteiro.

Então, por exemplo, você pode executar isso em várias conexões simultâneas sem problemas
CREATE TABLE #T
(
C INT
)

CREATE UNIQUE CLUSTERED INDEX ix on #T(C)

Mas isso falharia em concorrência
ALTER TABLE #T
ADD CONSTRAINT UQ UNIQUE NONCLUSTERED (C)