Hvis dataene følger uttrykksreglene, godtar databasemotoren dataene og tillater innsatsen eller oppdateringserklæringen. Ellers, hvis dataene ikke overholder lovene, avviser databasemotoren dataene og benekter innsatsen eller oppdateringsoperasjonen.
En enkelt kolonne kan ha en eller flere sjekkbegrensninger, forutsatt at de ikke er i konflikt med de andre eksisterende sjekkbegrensningene. I tillegg skal ikke rekkefølgen av ekspresjonsevaluering antas.
Tilsvarende kan du ha mer enn en kolonne med en sjekkbegrensning.
Regler for en sjekkbegrensning i Oracle
Når du definerer en sjekkbegrensning i Oracle -databaser, må du huske å følge disse reglene:
Selv om det er anbefalt å bruke en sjekkbegrensning under opprettelse av bord, kan du møte slike scenarier der du trenger å legge til en sjekkbegrensning til en eksisterende tabell.
La oss diskutere hvordan vi kan gjøre dette i en Oracle -database.
Legg til en sjekkbegrensningserklæring
For å legge til en sjekkbegrensning til en eksisterende databasetabell, bruker vi alter tbale add begrensningserklæring. Syntaksen er som vist:
ALTER TABLE TABLE_NAMELegg til en sjekkbegrensning til den eksisterende tabellen
La oss demonstrere hvordan vi kan legge til en sjekkbegrensning til en eksisterende tabell. La oss starte med å lage en testtabell:
Lag tabellprodukt_stock (Den forrige spørringen oppretter en tabell for å lagre produktbeholdningsinformasjonen. Deretter legger du til noen eksempeldata som vist i følgende:
Sett inn Product_Stock (Product_ID, Product_Name, Stock_Quantity, Stock_Level) verdier (1, 'Product1', 100, 'in');Resulterende bord
Anta at vi ønsker å sikre at de innsatte dataene har en Stock_Quantity på mer enn 100. Vi kan legge til en sjekkbegrensning som følger:
ALTER TABLE PRODUKT_STOCKNå, hvis vi prøver å legge til en rad med Stock_Quantity på mindre enn 100, får vi en feil som følger:
Sett inn Product_Stock (Product_ID, Product_Name, Stock_Quantity, Stock_Level) Verdier (6, 'Product6', 60, 'Out');Feil
[23000] [2293] ORA-02293: Kan ikke validere (HR.Validate_stock) - Kontroller begrenset krenketKonklusjon
Der har du det! En måte å legge til en sjekkbegrensning til en eksisterende tabell i Oracle -databaser. Vi håper at du fant denne artikkelen nyttig.