sql >> Databasteknik >  >> RDS >> Sqlserver

KONTROLLERA BEGRÄNSNING på flera kolumner

Ja, definiera KONTROLLBEGRÄNSNING vid bordet nivå

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

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

Du deklarerar det inline som en kolumn begränsning

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

Redigera, lättare att posta än att beskriva. Fixade dina kommatecken.

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
);

Naturligtvis kvarstår frågan om du använder en CHECK-begränsning där det ska vara en FK-begränsning...?



  1. Hur kan jag kombinera flera rader till en kommaavgränsad lista i SQL Server 2005?

  2. 2nd Quadrant Deutschland – Special Training Opening Bargain

  3. ROUND(nummer) Funktion i Oracle

  4. MySQL-variabelt format för en NOT IN-lista med värden