sql >> Database >  >> RDS >> Sqlserver

Wijzig een CHECK-beperking in SQL Server met behulp van T-SQL

Als u al een bestaande CHECK . heeft beperking in SQL Server, maar je moet het wijzigen, je moet het laten vallen en opnieuw maken. Er is geen ALTER CONSTRAINT verklaring of iets dergelijks.

Dus om een ​​bestaande beperking te "wijzigen":

  1. Laat de beperking vallen met ALTER TABLE met DROP CONSTRAINT .
  2. Maak de nieuwe beperking met ALTER TABLE met ADD CONSTRAINT .

Voorbeeld

Hier is een voorbeeld van het laten vallen en opnieuw maken van een CHECK beperking.

ALTER TABLE ConstraintTest 
  DROP CONSTRAINT chkTeamSize;

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

Zoals vermeld, kun je het niet wijzigen - je moet het laten vallen en het maken met de nieuwe definitie.

In dit geval heet de beperking chkTeamSize en ik laat het gewoon vallen en creëer het met de nieuwe definitie.

Een opmerking over bestellen

Merk op dat CHECK beperkingen worden gevalideerd in de volgorde waarin ze zijn gemaakt, dus het verwijderen/opnieuw maken van een beperking kan ertoe leiden dat deze in een andere volgorde wordt gevalideerd dan voorheen. Dit kan ertoe leiden dat andere fouten vóór deze beperking worden gedetecteerd, terwijl ze eerder daarna werden gedetecteerd.


  1. Een storing in de communicatieverbinding oplossen met JDBC en MySQL

  2. Regelnummers toevoegen in SQL Server Management Studio (SSMS) - SQL Server / TSQL Tutorial Part 11

  3. Scans van toewijzingsorders

  4. MariaDB GEBRUIKER() uitgelegd