SQL Drop Sjekk begrensning

En kontrollbegrensning er en regel som gjelder for én eller flere kolonner i en database tabell som kontrollerer informasjon i nye rekorder før du legger dem til bordet for å sikre at det tilfredsstiller en gitt betingelse. Hvis du har en eksisterende tabell med en sjekk begrensning på det at du ikke lenger trenger, kan du slippe kontrollbegrensninger ved hjelp av en SQL "ALTER TABLE" søket.

Funksjon

De fleste SQL-språk ikke har en kommando for å endre en eksisterende begrensning. For eksempel, hvis du har en brukerregistrering tabell som har et felt som sjekker bruker aldre og krever dem til å være eldre enn 21, kan du ikke endre den til å sjekke for aldre over 18 år den eneste måten å gjøre dette på er å slippe den eksisterende begrensning først, og deretter legge den tilbake til bordet med en ny sjekk tilstand. Alternativt kan du ikke ønsker å se etter bestemte aldersgrupper, så slippe den begrensningen vil stoppe bordet fra å gjøre det.

syntax

For å slippe en kontrollbegrensning fra en tabell, må du bruke en "ALTER TABLE" søket og angir begrensningen du ønsker å fjerne ved å gi sitt navn. For eksempel skriver "ALTER TABLE kunder DROP CONSTRAINT check_price;" fjerner en begrensning som heter "check_price" fra "kunder tabellen. Dette søket påvirker ikke noe av resten av tabellen struktur eller dataene i den. Selvfølgelig, slippe en tabell fra en database fjerner også kontrollbegrensningen.

avhengige objekter

Hvis tabellen har underordnede objekter, for eksempel en visning eller en utløser, kan du ikke slippe begrensninger på søyler refereres til av disse stedene. Du kan inkludere "Begrens" nøkkelordet til slutten av fallet begrensningen spørring for å håndheve denne oppførselen, men bevare begrensninger med avhengigheter er allerede standardhandlingen når du forsøker å slippe en begrensning. For å tvinge kontrollbegrensningen å slippe uavhengig av avhengigheter, må du inkludere søkeordet "Cascade" på slutten av rulle begrensningen søket.

konsekvenser

Slippe en kontrollbegrensning fra en tabell utvider rekkevidden av data som du kan sette inn et felt eller felt som tabellen ikke lenger kontrollerer spørringer for data som tilfredsstiller visse vilkår. Dette kan imidlertid kompromittere eventuelle eksisterende eller framtidige poster du legger til i databasen. For eksempel, hvis du har en brukertabell som krever medlemmene til å være minst 21 år gammel, og du slipper alder begrensning som sjekker om dette kravet, eventuelle nye poster som har aldersfeltverdier under 21 kan settes inn i tabellen.