sql >> Base de Datos >  >> RDS >> Sqlserver

VERIFICAR RESTRICCIÓN en múltiples columnas

Sí, defina la RESTRICCIÓN DE COMPROBACIÓN en la tabla nivel

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

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

Lo estás declarando en línea como una columna restricción

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

Editar, más fácil de publicar que describir. Se corrigieron las comas.

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

Por supuesto, la pregunta sigue siendo si está utilizando una restricción CHECK donde debería ser una restricción FK...?