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

Omezení pouze pro jeden záznam označený jako výchozí

Použijte jedinečný filtrovaný index

Na serveru SQL Server 2008 nebo vyšším můžete jednoduše použít jedinečný filtrovaný index

CREATE UNIQUE INDEX IX_TableName_FormID_isDefault
    ON TableName(FormID)
    WHERE isDefault = 1

Kde je tabulka

CREATE TABLE TableName(
    FormID INT NOT NULL,
    isDefault BIT NOT NULL
)

Pokud se například pokusíte vložit mnoho řádků se stejným FormID a isDefault nastaven na 1, zobrazí se tato chyba:

Nelze vložit duplicitní řádek klíče do objektu 'dbo.TableName' s jedinečným indexem 'IX_TableName_FormID_isDefault'. Hodnota duplicitního klíče je (1).

Zdroj:http://technet.microsoft.com/en-us/library/cc280372.aspx



  1. Snímky databáze SQL Server -1

  2. Nasazení datového centra Cloudera CDP na Oracle Cloud Infrastructure (OCI)

  3. Prohlášení Oracle

  4. Oznamujeme repmgr 2.0RC2