zmień kontrast czcionka: A A A
rss angielski
jesteś w Encyklopedii SQL >> CHECK

CHECK

Za pomocą CHECK można ustalić warunek jaki mają spełniać wartości wprowadzane do wybranych kolumn. Warunek ten można ustalić w trakcie tworzenia tabeli lub dla tabeli już istniejącej za pomocą ALTER.

Składnia na ustalenie warunku dla kolumny w MySQL


CREATE `nazwa_tabeli`
(
`nazwa_kolumny1` typ_danych ,
`nazwa_kolumny2` typ_danych ,
CHECK (`nazwa_kolumny` operator 'wartość')
)

Składnia na ustalenie warunku dla kolumny w SQL Server / Oracle / MS Access


CREATE `nazwa_tabeli`
(
`nazwa_kolumny1` typ_danych CHECK (`nazwa_kolumny` operator 'wartość'),
`nazwa_kolumny2` typ_danych 
)

Składnia na ustalenie warunku i jego nazwy, który musi być jednocześnie spełniony przez wiele kolumn


CREATE `nazwa_tabeli`
(
`nazwa_kolumny1` typ_danych ,
`nazwa_kolumny2` typ_danych ,
CONSTRAINT nazwa_warunku CHECK
(`nazwa_kolumny1` operator 'wartość' AND|OR `nazwa_kolumny2` operator 'wartość')
)

Zdefiniowanie nazwy warunku umożliwia jego późniejszą modyfikację lub usunięcie.

Składnia na utworzenie warunku dla istniejącej już tabeli


ALTER TABLE `nazwa_tabeli`
ADD CONSTRAINT nazwa_warunku `
CHECK (`nazwa_kolumny1` operator 'wartość'
AND|OR `nazwa_kolumny2` operator 'wartość')

Składnia na usunięcie warunku dla istniejącej już tabeli


ALTER TABLE `nazwa_tabeli`
DROP CONSTRAINT nazwa_warunku

Przykład

Stwórz tablicę `osoby` na liczbę_porządkową, która nie może być ujemna imię, nazwisko, PESEL, który musi mieć dokładnie 11 znaków

zapytanie


CREATE TABLE `osoby`
`liczba_porzadkowa` int
`imie` text
`nazwisko` text
`PESEL` int
CONSTRAINT `warunek_tabeli` CHECK
( `liczba_porzadkowa`>=0 AND LENGTH(`PESEL`)=11 )
}

Teraz dla utworzonej tablicy usuń wprowadzony warunek `warunek_tabeli` w poprzednim przykładzie

zapytanie


ALTER TABLE `osoby`
DROP CONSTRAINT `warunek_tabeli`

[ wróć na górę strony ]