Problem:
Du vil finde navnene på begrænsningerne i en tabel i Oracle.
Eksempel:
Vi ønsker at vise navnene på begrænsningerne i tabellen student
.
Løsning:
select CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME from USER_CONSTRAINTS where TABLE_NAME='STUDENT';
Her er resultatet:
CONSTRAINT_NAME | CONSTRAINT_TYPE | TABLE_NAME |
---|---|---|
SYS_C007376 | R | STUDENT |
SYS_C007374 | P | STUDENT |
SYS_C007375 | U | STUDENT |
SYS_C007372 | C | STUDENT |
Diskussion:
I Oracle skal du bruge visningen user_constraints
for at vise navnene på begrænsningerne i databasen. Kolonnen constraint_name
indeholder navnet på begrænsningen, constraint_type
angiver typen af begrænsning og table_name
indeholder navnet på den tabel, som begrænsningen tilhører. I kolonnen constraint_type er værdien "R" for den fremmede nøgle, "P" er for den primære nøgle, "U" er for entydighedsbegrænsningen, og "C" er for begrænsningskontrollen. I vores eksempel er der en begrænsning i tabellen student
af typen P (primær nøgle), hvis navn er SYS_C007374
.