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

Променете ограничение CHECK в SQL Server с помощта на T-SQL

Ако вече имате съществуваща CHECK ограничение в SQL Server, но трябва да го модифицирате, ще трябва да го пуснете и да го създадете отново. Няма ALTER CONSTRAINT изявление или нещо подобно.

Така че, за да „промените“ съществуващо ограничение:

  1. Отхвърлете ограничението с помощта на ALTER TABLE с DROP CONSTRAINT .
  2. Създайте новото ограничение с помощта на ALTER TABLE с ADD CONSTRAINT .

Пример

Ето пример за отпадане и пресъздаване на CHECK ограничение.

ALTER TABLE ConstraintTest 
  DROP CONSTRAINT chkTeamSize;

ALTER TABLE ConstraintTest
  ADD CONSTRAINT chkTeamSize 
  CHECK (TeamSize >= 5 AND TeamSize <= 20)
  ;

Както споменахме, не можете да го модифицирате – трябва да го пуснете и да го създадете с новата дефиниция.

В този случай ограничението се нарича chkTeamSize и просто го пускам и го създавам с новата дефиниция.

Бележка относно поръчката

Обърнете внимание, че CHECK ограниченията се валидират в реда, в който са създадени, така че отпадането/пресъздаването на ограничение може да доведе до валидирането му в различен ред от преди. Това може да доведе до улавяне на други грешки преди това ограничение, когато преди това са били уловени след това.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създайте временна таблица на базата на друга таблица в SQL Server

  2. INSERT INTO @TABLE EXEC @query със SQL Server 2000

  3. SQL JOIN срещу IN производителност?

  4. 2 начина да получите информация за дялове за таблица в SQL Server (T-SQL)

  5. Как да вмъкна арабски знаци в SQL база данни?