sal NUMBER(7,2),
comm NUMBER(7,2),
deptno NUMBER(2)
CONSTRAINT fk_deptno REFERENCES dept(deptno) ON DELETE CASCADE )
Это ограничение определяет условие. Каждая строка в таблице должна удовлетворять этому условию, иначе она устанавливается в NULL. Условие в этом ограничении может ссылаться на любой столбец в таблице, но не может ссылаться на столбцы в другой таблице.
Условие не должно содержать следующие конструкции:
* запросы к значениям других строк
* вызов функций SYSDATE, UID, USER, USERENV
* псевдостолбцы CURRVAL, NEXTVAL, LEVEL, ROWNUM
Пример.
Следующий пример создаёт таблицу DEPT и определяет ограничение CHECK в каждом столбце этой таблицы:
CREATE TABLE dept (deptno NUMBER CONSTRAINT check_deptno
CHECK (deptno BETWEEN 10 AND 99)
DISABLE,
dname VARCHAR2(9) CONSTRAINT check_dname
CHECK (dname = UPPER(dname))
DISABLE,
loc VARCHAR2(10) CONSTRAINT check_loc
CHECK (loc IN ('DALLAS','BOSTON',
'NEW YORK','CHICAGO'))
DISABLE)
Каждое ограничение возвращает значения столбца, в котором оно определено:
CHECK_DEPTNO |
показывает, что значения номеров отделов лежат в промежутке от10 до 99. |
CHECK_DNAME |
показывает, что названия всех отделов должны быть набраны большими буквами. |
CHECK_LOC |
определяет местонахождение отделов в указанных городах. |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.