sql >> Database teknologi >  >> RDS >> Sqlserver

CHECK CONSTRAINT på flere kolonner

Ja, definer KONTROLBEGRÆNSNING ved tabellen niveau

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

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

Du erklærer det inline som en kolonne begrænsning

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

Rediger, nemmere at poste end at beskrive. Rettede dine kommaer.

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

Spørgsmålet er naturligvis, om du bruger en CHECK-begrænsning, hvor det skal være en FK-begrænsning...?



  1. Listevisning fra Sqlite i Android

  2. Fuldtekstsøgninger i MySQL:The Good, the Bad and the Ugly

  3. Hvad er der med (nolock) i SQL Server?

  4. Installer Azure Data Studio på Ubuntu 18.04