Ehdot
CHECK Constraint mahdollistaa ehdon, jolla tarkistetaan tietueeseen syötettävä arvo. Jos ehto evaluoituu vääräksi, tietue rikkoo rajoitusta eikä sitä syötetä taulukkoon.
Esimerkki
Esimerkiksi seuraavassa ohjelmassa luodaan uusi taulukko nimeltä ASIAKKAAT ja lisätään viisi saraketta. Tässä lisäämme CHECK-rajoitteen AGE-sarakkeeseen, jotta ei voi olla yhtään ASIAKASTA, joka on alle 18-vuotias.
CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL CHECK (AGE >= 18), ADDRESS CHAR (25) , SALARY DECIMAL (18, 2), PRIMARY KEY (ID));
Jos CUSTOMERS-taulukko on jo luotu, voit lisätä CHECK-rajoituksen AGE-sarakkeeseen kirjoittamalla alla olevan kaltaisen lausekkeen.
ALTER TABLE CUSTOMERS MODIFY AGE INT NOT NULL CHECK (AGE >= 18 );
Voit käyttää myös seuraavaa syntaksia, joka tukee rajoituksen nimeämistä myös useissa sarakkeissa –
ALTER TABLE CUSTOMERS ADD CONSTRAINT myCheckConstraint CHECK(AGE >= 18);
DROP a CHECK Constraint
Pudottaaksesi CHECK-rajoituksen, käytä seuraavaa SQL-syntaksia. Tämä syntaksi ei toimi MySQL:n kanssa.
ALTER TABLE CUSTOMERS DROP CONSTRAINT myCheckConstraint;
sql-rdbms-concepts.htm
Advertisements