sql >> Database teknologi >  >> RDS >> Sqlserver

Rediger en CHECK-begrænsning i SQL Server ved hjælp af T-SQL

Hvis du allerede har en eksisterende CHECK begrænsning i SQL Server, men du skal ændre den, du bliver nødt til at slippe den og genskabe den. Der er ingen ALTER CONSTRAINT erklæring eller noget lignende.

Så for at "modificere" en eksisterende begrænsning:

  1. Slet begrænsningen ved hjælp af ALTER TABLE med DROP CONSTRAINT .
  2. Opret den nye begrænsning ved hjælp af ALTER TABLE med ADD CONSTRAINT .

Eksempel

Her er et eksempel på at slippe og genskabe en CHECK begrænsning.

ALTER TABLE ConstraintTest 
  DROP CONSTRAINT chkTeamSize;

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

Som nævnt kan du ikke ændre det - du skal droppe det og oprette det med den nye definition.

I dette tilfælde kaldes begrænsningen chkTeamSize og jeg dropper det simpelthen og skaber det med den nye definition.

En bemærkning om bestilling

Bemærk, at CHECK begrænsninger valideres i den rækkefølge, som de er oprettet, så slip/genoprettelse af en begrænsning kan medføre, at den valideres i en anden rækkefølge end tidligere. Dette kan resultere i, at andre fejl bliver fanget før denne begrænsning, når de tidligere blev fanget efter.


  1. Hvordan kan jeg kalde en SQL Stored Procedure ved hjælp af EntityFramework 7 og Asp.Net 5

  2. Tilføj interval til tidsstemplet ved hjælp af Ecto Fragments

  3. Hvornår skal jeg bruge CROSS APPLY over INNER JOIN?

  4. Kører Vitess og MySQL med ClusterControl