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 .