テーブルに列があり、すべての値が一意であるか、NULLである必要があります。
この列のテーブルに一意キーを追加しようとしましたが、これはNULL値を1つしか持てないことを意味しているようです。
NULLでない限り、すべての値が一意になるように制約を設定するにはどうすればよいですか?
テーブルに列があり、すべての値が一意であるか、NULLである必要があります。
この列のテーブルに一意キーを追加しようとしましたが、これはNULL値を1つしか持てないことを意味しているようです。
NULLでない限り、すべての値が一意になるように制約を設定するにはどうすればよいですか?
SQL Server 2008には、これを可能にするフィルター処理されたインデックスがありますが、2005では使用できません。SQLServer2005では、定義を使用してインデックス付きビューを作成できます。
CREATE VIEW dbo.Foo
WITH SCHEMABINDING
AS
SELECT bar
FROM dbo.baz
WHERE bar IS NOT NULL
次に、その上に一意のクラスター化されたインデックスを作成します。
CREATE UNIQUE CLUSTERED INDEX ix ON dbo.Foo(bar)