select * from all_constraints
where owner = '<NAME>'
and constraint_name = 'SYS_C00381400'
/
Podobnie jak wszystkie widoki słowników danych, jest to widok USER_CONSTRAINTS, jeśli chcesz tylko sprawdzić bieżący schemat i widok DBA_CONSTRAINTS dla użytkowników administracyjnych.
Konstrukcja nazwy ograniczenia wskazuje nazwę ograniczenia wygenerowaną przez system. Na przykład, jeśli określimy NOT NULL w deklaracji tabeli. Albo rzeczywiście kluczem podstawowym lub unikalnym. Na przykład:
SQL> create table t23 (id number not null primary key)
2 /
Table created.
SQL> select constraint_name, constraint_type
2 from user_constraints
3 where table_name = 'T23'
4 /
CONSTRAINT_NAME C
------------------------------ -
SYS_C00935190 C
SYS_C00935191 P
SQL>
'C'
do czeku, 'P'
dla podstawowego.
Ogólnie dobrym pomysłem jest nadanie ograniczeniom relacyjnym wyraźnej nazwy. Na przykład, jeśli baza danych utworzy indeks dla klucza podstawowego (co zrobi, jeśli ta kolumna nie jest już zaindeksowana), użyje nazwy ograniczenia oo nazwa indeksu. Nie chcesz bazy danych pełnej indeksów o nazwie jak SYS_C00935191
.
Szczerze mówiąc większość ludzi nie zawraca sobie głowy nazywaniem ograniczeń NOT NULL.