sql >> Databáze >  >> RDS >> Sqlserver

Upravte omezení CHECK v SQL Server pomocí T-SQL

Pokud již máte existující CHECK omezení v SQL Server, ale musíte ho upravit, budete ho muset zrušit a znovu vytvořit. Neexistuje žádné ALTER CONSTRAINT prohlášení nebo něco podobného.

Chcete-li tedy „upravit“ existující omezení:

  1. Zrušte omezení pomocí ALTER TABLE s DROP CONSTRAINT .
  2. Vytvořte nové omezení pomocí ALTER TABLE s ADD CONSTRAINT .

Příklad

Zde je příklad vypuštění a opětovného vytvoření CHECK omezení.

ALTER TABLE ConstraintTest 
  DROP CONSTRAINT chkTeamSize;

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

Jak již bylo zmíněno, nemůžete jej upravovat – musíte jej zahodit a vytvořit s novou definicí.

V tomto případě se omezení nazývá chkTeamSize a jednoduše jej zahodím a vytvořím s novou definicí.

Poznámka k objednávce

Všimněte si, že CHECK omezení jsou ověřována v pořadí, v jakém jsou vytvořena, takže zrušení/znovu vytvoření omezení může způsobit, že bude ověřeno v jiném pořadí než dříve. To může mít za následek zachycení dalších chyb před tímto omezením, když byly dříve zachyceny po.


  1. Nastavení názvu aplikace na Postgres/SQLAlchemy

  2. je možné vybrat přímo EXISTS jako bit?

  3. Co je to vztah typu one-to-one v databázi?

  4. Snažím se zkopírovat soubor, ale zobrazuje se chybová zpráva