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

Contrainte unique, à l'exclusion des valeurs NULL

SQL Server 2008 a des index filtrés qui le permettent, mais ils ne sont pas disponibles en 2005. Dans SQL Server 2005, vous pouvez créer une vue indexée avec définition

CREATE VIEW dbo.Foo
WITH SCHEMABINDING
AS
SELECT bar
FROM dbo.baz
WHERE bar IS NOT NULL

Créez ensuite un index clusterisé unique sur celui-ci.

CREATE UNIQUE CLUSTERED INDEX ix ON dbo.Foo(bar)