Умова CHECK
Можна встановлювати будь-яке число обмежень для даних, що вводяться в таблиці, щоб, наприклад, обмежити діапазон даних, що вводяться. Опція CHECK забезпечує обмеження, яке дозволяє встановити умову, якій має задовольняти значення, що вводиться в таблицю, перш ніж воно буде прийнято. Обмеження CHECK складається з ключового слова CHECK, супроводжуваного пропозицією предиката, який використовує вказане поле. Будь-яка спроба модифікувати або вставити значення поля, яке могло б зробити цей предикат невірним буде відхилена. наприклад:
CREATE TABLE Student
(Kod_stud integer NOT NULL PRIMARY KEY,
Можна використовувати обмеження CHECK щоб захистити від введення в поле визначених значень, і таким чином запобігти помилці. наприклад:
CREATE TABLE Student
(Kod_stud integer NOT NULL PRIMARY KEY,
Ball decimal CHECK (Ball> 0),
Form_ob char (10) CHECK (Form_ob IN ( 'Денна', 'Заочна', 'Вечірня'));
Можна також використовувати CHECK як табличного обмеження. Це корисно в тих випадках коли необхідно включити більше одного поля рядка в умова. наприклад:
CREATE TABLE Student
(Kod_stud integer NOT NULL PRIMARY KEY,
Якщо рядок вставляється в таблицю і не надаються значення для кожного поля, SQL повинен мати значення за замовчуванням для заповнення ними значень полів, що не заданих явно в команді; в іншому випадку команда вставки повинна бути відкинута. Найбільш поширеним значенням за замовчуванням є значення NULL. Це значення є значенням за замовчуванням для будь-якого стовпця, їли для нього не вказано обмеження NOT NULL, або не вказано значення, присвоєне за замовчуванням. Для призначення іншого значення за замовчуванням використовують обмеження DEFAULT.
CREATE TABLE Student
(Kod_stud integer NOT NULL PRIMARY KEY,
Ball decimal CHECK (Ball> 0),
Stip decimal DEFAULT = 300);