CHECK SQL

Можно устанавливать любое число ограничений для данных, вводимых в таблицы, чтобы, например, ограничить диапазон вводимых данных. Опция CHECK обеспечивает ограничение,  которое позволяет  установить условие, которому должно удовлетворять значение, вводимое в таблицу, прежде чем оно будет принято.

Ограничение CHECK

Ограничение CHECK состоит из ключевого слова CHECK, сопровождаемого  предложением предиката,  который использует указанное поле. Любая попытка модифицировать или вставить значение поля, которое могло бы сделать этот предикат неверным будет отклонена.

SQL CHECK в CREATE TABLE

CHECK SQL. Пример 1

CREATE TABLE Student ( Kod_stud integer NOT NULL PRIMARY KEY, Fam   char (30) NOT NULL UNIQUE, Adres   char (50), Ball  decimal CHECK ( Ball > 0));

Ограничение CHECK SQL. Пример 2

Можно использовать ограничение CHECK чтобы защитить от ввода в поле определенных значений, и таким образом предотвратить ошибку.

CREATE TABLE Student ( Kod_stud    integer NOT NULL PRIMARY KEY, Fam   char (30) NOT NULL UNIQUE, Adres   char (50), Ball  decimal CHECK ( Ball > 0), Form_ob char(10) CHECK (Form_ob IN ('Дневная', 'Заочная', 'Вечерняя'));

CHECK SQL. Пример 3

Можно также использовать CHECK в качестве табличного ограничения. Это полезно в тех случаях когда необходимо включить более одного поля строки в условие.

CREATE TABLE Student (Kod_stud    integer NOT NULL PRIMARY KEY, Fam   char (30) NOT NULL UNIQUE, Adres   char (50), Ball  decimal, Form_ob char(10), CHECK (Ball > 50 OR Form_ob = 'Дневная'));

Если строка вставляется в таблицу и не предоставляются значения для каждого поля, SQL должен иметь значения по умолчанию для заполнения ими значений полей, не заданных явно в команде; в противном случае команда вставки должна быть отвергнута. Наиболее распространенным значением по умолчанию является значение NULL. Это значение является значением по умолчанию для любого столбца, ели для него не указано ограничение NOT NULL, либо не указано значение, присвоенное по умолчанию. Для назначения иного значения по умолчанию используют ограничение DEFAULT.

CREATE TABLE Student

( Kod_stud    integer NOT NULL PRIMARY KEY,

Fam   char (30) NOT NULL UNIQUE,

Ball  decimal CHECK (Ball > 0),

Stip decimal DEFAULT =300);

SQL CHECK в ALTER TABLE

Для создания ограничения для столбца "Year" в таблице "Books", когда таблица уже создана, необходимо использовать следующий SQL

ALTER TABLE Books
ADD CHECK (Year>=2020);
Оставить комментарий к «CHECK SQL»