Составители:
Рубрика:
ГУАП МЦИТ
Введение в «ORACLE»
Под ред. проф. В.М.Космачёва
14
• CHECK условие -устанавливает условие, которому должно удовлетворять значение столбца. В описании
условия CHECK для столбца можно ссылаться только на тот столбец, к которому оно относится. Условие
CHECK для таблицы может ссылаться на несколько столбцов.
Пример. Чтобы описать таблицу staff (предполагается, что Вы [схема.] stud1_1), следует ввести:
CREATE TABLE staff (
empno NUMBER NOT NULL PRIMARY KEY,
ename CHAR(20) NOT NULL CHECK (ename = UPPER),
job CHAR(10),
mgr NUMBER REFERENCES stud1_1.staff(empno),
hiredate DATE CHECK (hiredate >= SYSDATE - 7),
sal NUMBER(10,2) CHECK (sal > 800),
comm NUMBER(9,2) DEFAULT NULL,
deptno NOT NULL REFERENCES stud1_1.dept(deptno)
)
В системе определена таблица DUAL , которую можно использовать для вычисления выражений, работы с
поледовательностями, отладки хранимых процедур и функций и мн.др., например:
SELECT (5*2) FROM dual
SELECT my_seq.CURRVAL INTO my_per FROM dual -- для PL/SQL
Ограничение FOREIGN KEY/REFERENCES:
• не дает выполниться операторам INSERT и UPDATE, если соответствующих значений нет в таблице,
содержащей первичный ключ.
• не позволяет выполниться оператору DELETE, если его результат приводит к нарушению ограничения
REFERENCES.
• должно ссылаться на столбец первичной таблицы (т.е. содержащей первичный ключ), определенный как
PRIMARY KEY или UNIQUE.
• если не указан столбец (столбцы), то ограничение будет использовать тот столбец первичного ключа, который
определен как PRIMARY KEY.
• может ссылаться только на таблицу. На представление данных или кластер ссылаться нельзя.
• требует, чтобы таблица, хранящая первичный ключ, принадлежала Вам и чтобы Вы имели к доступ с правом
REFERENCE либо к таблице, либо только к столбцам, на которые Вы ссылаетесь при описании ограничения.
• никак не ограничивает использование тех же таблиц в описании других ограничений.
• требует совпадения типов данных в столбце (столбцах) внешнего ключа и в столбце (столбцах), к которым
описывается ограничение.
• может ссылаться на ту же таблицу, что и в операторе CREATE TABLE.
• в одном ограничении не может ссылаться на столбец более одного раза.
Ограничения могут описываться в команде CREATE TABLE, либо добавляться/отменяться
командой ALTER TABLE.
Например, запись
CREATE TABLE tb2 (id number(4) primary key, fk number(4) REFERENCES tb1(id) )
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »
