Как определить мои условия поиска для первичных ключей и внешнего ключа - PullRequest
0 голосов
/ 29 ноября 2018

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

Вот мой код создания таблицы:

CREATE TABLE sal_history_2018 
(empid NUMBER(6) NOT NULL, 
first_name VARCHAR2(20) NOT NULL,
last_name VARCHAR(25) NOT NULL, 
hire_date DATE NOT NULL, 
sal NUMBER(8,2) NOT NULL,
CONSTRAINT sal_history_2018_pk PRIMARY KEY(empid,hire_date),
CONSTRAINT sal_history_2018_fk FOREIGN KEY(empid) REFERENCES employees_2018(employee_no))

Вот мой код ограничения:

select constraint_name, constraint_type, owner, search_condition
from user_constraints
where table_name='SAL_HISTORY_2018'

Я пытаюсь получить условия поиска для моих PK и FKотображаться как NOT NULL, как и другие значения на этом скриншоте.

Результат кода ограничений:

enter image description here

1 Ответ

0 голосов
/ 29 ноября 2018

На прилагаемом изображении «условие поиска» представляет собой необычный способ описания того, что действительно является ограничением для данных, применяемых проверочным ограничением (CONSTRAINT_TYPE для «C»).

Первичные и внешние ключиограничения не имеют такого условия.они выражают другую форму ограничения, что для первичного ключа означает «Все значения должны присутствовать и уникальны», а для внешнего ключа означает «Все значения должны появиться в ссылочных столбцах (столбцах)».

Таким образом,Условие «не ноль» неявно подразумевается столбцами первичного ключа как наличием первичного ключа, так и наличием проверочных ограничений, не равных нулю, для столбцов.

Сам внешний ключ не подразумевает«не ноль», но это уже ограничение для отдельных столбцов.

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