Проблем:
Искате да намерите имената на ограниченията в таблица в Oracle.
Пример:
Искаме да покажем имената на ограниченията в таблицата student
.
Решение:
select CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME from USER_CONSTRAINTS where TABLE_NAME='STUDENT';
Ето резултата:
CONSTRAINT_NAME | CONSTRAINT_TYPE | TABLE_NAME |
---|---|---|
SYS_C007376 | R | СТУДЕНТ |
SYS_C007374 | P | СТУДЕНТ |
SYS_C007375 | U | СТУДЕНТ |
SYS_C007372 | C | СТУДЕНТ |
Дискусия:
В Oracle използвайте изгледа user_constraints
за показване на имената на ограниченията в базата данни. Колоната constraint_name
съдържа името на ограничението, constraint_type
указва типа на ограничението и table_name
съдържа името на таблицата, към която принадлежи ограничението. В колоната constraint_type стойността „R“ е за външния ключ, „P“ е за първичния ключ, „U“ е за ограничението за уникалност, а „C“ е за проверката на ограничението. В нашия пример има ограничение в таблицата student
от типа P (първичен ключ), чието име е SYS_C007374
.