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

CHECK CONSTRAINT na více sloupcích

Ano, definujte CHECK CONSTRAINT v tabulce úroveň

CREATE TABLE foo (
   bar int NOT NULL, 
   fred varchar(50) NOT NULL,

   CONSTRAINT CK_foo_stuff CHECK (bar = 1 AND fred ='fish')
)

Deklarujete to vložené jako sloupec omezení

...
fred varchar(50) NOT NULL CONSTRAINT CK_foo_fred CHECK (...)
...

Upravit, snadněji zveřejnit, než popsat. Opraveny čárky.

CREATE TABLE dbo.Test 
(   
  EffectiveStartDate  dateTime2(2)        NOT NULL,
  EffectiveEndDate    dateTime2(2)        NOT NULL,  --need comma
  CONSTRAINT CK_CmsSponsoredContents_EffectiveEndDate CHECK (EffectiveEndDate > EffectiveStartDate) --no comma
);

Otázkou samozřejmě zůstává, zda používáte omezení CHECK tam, kde by to mělo být omezení FK...?



  1. Jak používat Stopwords a Stoplist ke zlepšení SQL Server Full-Text Search (FTS)

  2. Chyba MSSQL „Základní poskytovatel selhal při otevření“

  3. Změňte formát data (v DB nebo na výstupu) na dd/mm/rrrr - PHP MySQL

  4. Jaký je ekvivalent Oracle funkce IsNull() serveru SQL?