Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SPRAWDŹ OGRANICZENIE na wielu kolumnach

Tak, zdefiniuj OGRANICZENIE SPRAWDŹ w tabeli poziom

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

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

Deklarujesz to jako kolumnę ograniczenie

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

Edytuj, łatwiej publikować niż opisywać. Poprawiono przecinki.

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

Oczywiście pozostaje pytanie, czy używasz ograniczenia CHECK tam, gdzie powinno być ograniczeniem 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. Błąd konwersji danych zbiorczego ładowania (niezgodność typu lub nieprawidłowy znak dla określonej strony kodowej) dla wiersza 1, kolumny 4 (rok)

  2. Jak wbudować funkcjonalność RUNAS /NETONLY do programu (C#/.NET/WinForms)?

  3. Jak rozwiązać problem z niemożliwością przełączenia błędu kodowania podczas wstawiania XML do SQL Server

  4. Podziel wartość jednej kolumny na wartości wielu kolumn

  5. Czy mogę uzyskać nazwy wszystkich tabel bazy danych SQL Server w aplikacji C#?