Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

CHECK CONSTRAINT em várias colunas


Sim, defina CHECK CONSTRAINT na tabela nível
CREATE TABLE foo (
   bar int NOT NULL, 
   fred varchar(50) NOT NULL,

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

Você está declarando-o embutido como uma coluna limitação
...
fred varchar(50) NOT NULL CONSTRAINT CK_foo_fred CHECK (...)
...

Editar, mais fácil de postar do que descrever. Corrigidas suas vírgulas.
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
);

Claro, a questão permanece:você está usando uma restrição CHECK onde deveria ser uma restrição FK...?