Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

ПРОВЕРЕТЕ ОГРАНИЧЕНИЕТО на множество колони

Да, дефинирайте ОГРАНИЧЕНИЕТО ПРОВЕРКА в таблицата ниво

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

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

Вие го декларирате вграден като колона ограничение

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

Редактиране, по-лесно за публикуване, отколкото за описание. Поправих запетайките.

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

Разбира се, остава въпросът дали използвате ограничение CHECK, където трябва да бъде ограничение FK...?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql еквивалентни типове данни

  2. Търсене на обекти от база данни и данни от таблици в SQL Server

  3. Кой е най-бързият начин за групово вмъкване на много данни в SQL Server (C# клиент)

  4. TSQL:Как да конвертирам местно време в UTC? (SQL Server 2008)

  5. Максимален размер за заявка на SQL сървър? IN клауза? Има ли по-добър подход