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 ]