Mam ograniczenie o nazwie users.SYS_C00381400
. Jak mogę dowiedzieć się, czym jest to ograniczenie? Czy istnieje sposób na sprawdzenie wszystkich ograniczeń?
sql
oracle
constraints
David Oneill
źródło
źródło
Odpowiedzi:
Podobnie jak wszystkie widoki słownika 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 wiązania wskazuje nazwę wiązania wygenerowaną przez system. Na przykład, jeśli określimy NOT NULL w deklaracji tabeli. Lub rzeczywiście klucz podstawowy lub unikalny. Na przykład:
'C'
do sprawdzenia,'P'
dla podstawowego.Ogólnie dobrym pomysłem jest nadanie więzom relacyjnym wyraźnej nazwy. Na przykład, jeśli baza danych utworzy indeks dla klucza podstawowego (co zrobi, jeśli ta kolumna nie jest jeszcze zindeksowana), użyje nazwy ograniczenia, a nazwa indeksu. Nie chcesz, aby baza danych była pełna indeksów o nazwach takich jak
SYS_C00935191
.Szczerze mówiąc, większość ludzi nie zawraca sobie głowy nazywaniem ograniczeń NOT NULL.
źródło
Aby uzyskać bardziej szczegółowy opis (która tabela / kolumna odwołuje się do której tabeli / kolumny), możesz uruchomić następujące zapytanie:
Od tutaj .
źródło
może to pomoże ...
źródło