Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Nommer dynamiquement les index dans SQL Server 2005 ?

C'est un faux problème. Les noms d'index ne doivent être uniques qu'au sein d'une étendue de table, et non globalement dans les étendues de table. Seuls les noms de contraintes doivent être uniques dans un schéma de base de données entier.

Ainsi, par exemple, vous pouvez l'exécuter dans plusieurs connexions simultanées sans problème

CREATE TABLE #T
(
C INT
)

CREATE UNIQUE CLUSTERED INDEX ix on #T(C)

Mais cela échouerait avec la concurrence

ALTER TABLE #T
ADD CONSTRAINT UQ UNIQUE NONCLUSTERED (C)