Problem:
Sie möchten die Namen der Constraints in einer Tabelle in Oracle finden.
Beispiel:
Wir wollen die Namen der Constraints in der Tabelle student
.
Lösung:
select CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME from USER_CONSTRAINTS where TABLE_NAME='STUDENT';
Hier ist das Ergebnis:
CONSTRAINT_NAME | CONSTRAINT_TYPE | TABLE_NAME |
---|---|---|
SYS_C007376 | R | SCHÜLER |
SYS_C007374 | P | SCHÜLER |
SYS_C007375 | U | SCHÜLER |
SYS_C007372 | C | SCHÜLER |
Diskussion:
Verwenden Sie in Oracle die Ansicht user_constraints
um die Namen der Einschränkungen in der Datenbank anzuzeigen. Die Spalte constraint_name
enthält den Namen der Einschränkung, constraint_type
gibt den Typ der Einschränkung an und table_name
enthält den Namen der Tabelle, zu der die Einschränkung gehört. In der Spalte „constraint_type“ steht der Wert „R“ für den Fremdschlüssel, „P“ für den Primärschlüssel, „U“ für die Eindeutigkeitsbeschränkung und „C“ für die Beschränkungsprüfung. In unserem Beispiel gibt es eine Einschränkung in der Tabelle student
vom Typ P (Primärschlüssel), dessen Name SYS_C007374
ist .