En sjekk begrensning er en regel som gjelder for én eller flere kolonner i en databasetabell som kontrollerer informasjon i nye poster før du legger dem til bordet for å sikre at det tilfredsstiller en gitt tilstand . 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
Mest 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 brukerens aldre og krever dem til å være eldre enn 21 , kan du ikke endre det til å sjekke for aldre over 18 år. Den eneste måten å gjøre dette er å slippe den eksisterende begrensningen 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
å slippe en sjekk begrensning fra en tabell , må du bruke en " ALTER tABLE" spørring og angir begrensningen du vil fjerne ved å gi sitt navn . For eksempel skriver " ALTER TABLE kunder DROP CONSTRAINT check_price ; " fjerner en begrensning som heter " check_price " fra " kunder tabell Dette søket påvirker ikke noe av resten av tabellen struktur eller dataene i det selvfølgelig slippe en . . tabell fra en database fjerner også sjekken begrensningen.
avhengige objekter
p Hvis tabellen har noen avhengige objekter, for eksempel en visning eller en utløser , du kan ikke slippe begrensninger på kolonner referert 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 som standard når du forsøker å slippe en begrensning. å tvinge kontrollbegrensningen å slippe uavhengig av avhengigheter , må du inkludere søkeordet "Cascade " på slutten av fallet begrensningen spørringen.
Konsekvenser
slippe en sjekk begrensning fra en tabell utvider rekkevidden av data som du kan sette inn et felt eller felt som tabellen ikke lenger kontrollerer spørringer etter data som tilfredsstiller visse vilkår. Men dette kan kompromittere eventuelle eksisterende eller framtidige poster du legger til i databasen . for eksempel hvis du har en bruker tabell som krever medlemmene til å være minst 21 år gammel og du slipper en alder begrensning som sjekker for dette kravet , noen nye poster som har alder feltverdier under 21 kan settes inn i tabellen.