sql >> Databáze >  >> RDS >> Sqlserver

Jak vytvořím jedinečné omezení, které také povoluje hodnoty null?

To, co hledáte, je skutečně součástí standardů ANSI SQL:92, SQL:1999 a SQL:2003, tj. UNIKÁTNÍ omezení musí zakazovat duplicitní hodnoty jiné než NULL, ale přijímat více hodnot NULL.

Ve světě Microsoft SQL Server je však povolena jedna hodnota NULL, ale více hodnot NULL nikoli...

V SQL Server 2008 , můžete definovat jedinečný filtrovaný index založený na predikátu, který vylučuje hodnoty NULL:

CREATE UNIQUE NONCLUSTERED INDEX idx_yourcolumn_notnull
ON YourTable(yourcolumn)
WHERE yourcolumn IS NOT NULL;

V dřívějších verzích se k vynucení omezení můžete uchýlit k VIEWS s predikátem NOT NULL.



  1. Počet SQL

  2. Entity Developer a poskytovatelé dat ADO.Net nyní podporují Entity Framework Core 5

  3. Nastavení časového limitu připojení s PDO

  4. Oracle PL/SQL - Jak vytvořit jednoduchou proměnnou pole?