Oracle
 sql >> Database >  >> RDS >> Oracle

Come trovare il nome di un vincolo in Oracle

Problema:

Vuoi trovare i nomi dei vincoli in una tabella in Oracle.

Esempio:

Vogliamo visualizzare i nomi dei vincoli nella tabella student .

Soluzione:

select CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME
from USER_CONSTRAINTS
where TABLE_NAME='STUDENT';

Ecco il risultato:

CONSTRAINT_NAME TIPO_VINCENTE TABLE_NAME
SYS_C007376 R STUDENTE
SYS_C007374 P STUDENTE
SYS_C007375 U STUDENTE
SYS_C007372 C STUDENTE

Discussione:

In Oracle, utilizza la vista user_constraints per visualizzare i nomi dei vincoli nel database. La colonna constraint_name contiene il nome del vincolo, constraint_type indica il tipo di vincolo e table_name contiene il nome della tabella a cui appartiene il vincolo. Nella colonna tipo_vincolo, il valore "R" è per la chiave esterna, "P" è per la chiave primaria, "U" è per il vincolo di unicità e "C" è per il controllo del vincolo. Nel nostro esempio, c'è un vincolo nella tabella student di tipo P (chiave primaria) il cui nome è SYS_C007374 .