Problem:
Chcesz znaleźć nazwy ograniczeń w tabeli w Oracle.
Przykład:
Chcemy wyświetlić nazwy ograniczeń w tabeli student
.
Rozwiązanie:
select CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME from USER_CONSTRAINTS where TABLE_NAME='STUDENT';
Oto wynik:
CONSTRAINT_NAME | CONSTRAINT_TYPE | TABLE_NAME |
---|---|---|
SYS_C007376 | R | STUDENT |
SYS_C007374 | P | STUDENT |
SYS_C007375 | U | STUDENT |
SYS_C007372 | C | STUDENT |
Dyskusja:
W Oracle użyj widoku user_constraints
aby wyświetlić nazwy ograniczeń w bazie danych. Kolumna constraint_name
zawiera nazwę ograniczenia, constraint_type
wskazuje typ ograniczenia, a table_name
zawiera nazwę tabeli, do której należy ograniczenie. W kolumnie bound_type wartość „R” to klucz obcy, „P” to klucz podstawowy, „U” to ograniczenie unikalności, a „C” to kontrola ograniczenia. W naszym przykładzie istnieje ograniczenie w tabeli student
typu P (klucz podstawowy), którego nazwa to SYS_C007374
.