<подзапрос_столбца>::= запрос select, возвращающий значения одного столбца, но, возможно, в нескольких строках;
<скалярный_подзапрос>::= запрос select, возвращающий значение одного столбца в одной строке.
По существу, <условие_проверки> – это не что иное, как условие поиска предложения WHERE при использовании вложенных запросов.
Следует отметить, что если столбец таблицы определен на домене, имеющем ограничение CHECK, то это ограничение не может быть переопределено в определении столбца, хотя столбец может расширить использование ограничения CHECK домена, добавив свои собственные условия.
Например, необходимо создать таблицу NachislSumma, определив поле NachislFactCd как первичный ключ на домене PKField. При этом начисленная сумма (поле NachislSum на домене Money) не должна быть меньше 5000, значение поля NachislYear, определяемого на домене TYear с ограничением (VALUE BETWEEN 1990 AND2100), должно отличаться от 1995.
Запрос на создание такой таблицы будет выглядеть следующим образом: CREATE TABLE NachislSumma (NachislFactCD PKField NOT NULL PRIMARY KEY, AccountCD VARCHAR(30) NOT NULL, GazServiceCD PKField NOT NULL, NachislSum Money CHECK (NachislSum >= 5000), NachislMonth TMonth,
NachislYear TYear CHECK (NachislYear IS DISTINCT FROM 1995));.
Если значения, помещаемые в таблицу NachislSumma, не будут удовлетворять указанным условиям проверки, то возникнет ошибка с SQLCODE=-297.
Предложение REFERENCES, указанное в качестве ограничения столбца, задает, что данный столбец таблицы ссылается на родительскую таблицу и является внешним ключом. Если после имени таблицы, на которую ссылается данный внешний ключ, не указаны имена столбцов, то подразумевается, что данный столбец ссылается на первичные ключи.
предыдущаяследующая