Problem:
Du vill hitta namnen på begränsningarna i en tabell i Oracle.
Exempel:
Vi vill visa namnen på begränsningarna i tabellen student .
Lösning:
select CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME from USER_CONSTRAINTS where TABLE_NAME='STUDENT';
Här är 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 använder du vyn user_constraints för att visa namnen på begränsningarna i databasen. Kolumnen constraint_name innehåller namnet på begränsningen, constraint_type anger typen av begränsning och table_name innehåller namnet på tabellen som begränsningen tillhör. I kolumnen constraint_type är värdet "R" för den främmande nyckeln, "P" är för primärnyckeln, "U" är för unikhetsbegränsningen och "C" är för begränsningskontrollen. I vårt exempel finns det en begränsning i tabellen student av typen P (primärnyckel) vars namn är SYS_C007374 .