select * from all_constraints
where owner = '<NAME>'
and constraint_name = 'SYS_C00381400'
/
Come tutte le viste del dizionario dei dati, questa è una vista USER_CONSTRAINTS se vuoi solo controllare lo schema corrente e una vista DBA_CONSTRAINTS per gli utenti amministratori.
La costruzione del nome del vincolo indica un nome del vincolo generato dal sistema. Ad esempio, se specifichiamo NOT NULL in una dichiarazione di tabella. O addirittura una chiave primaria o univoca. Ad esempio:
SQL> create table t23 (id number not null primary key)
2 /
Table created.
SQL> select constraint_name, constraint_type
2 from user_constraints
3 where table_name = 'T23'
4 /
CONSTRAINT_NAME C
------------------------------ -
SYS_C00935190 C
SYS_C00935191 P
SQL>
'C'
per il controllo, 'P'
per primario.
In genere è una buona idea assegnare un nome esplicito ai vincoli relazionali. Ad esempio, se il database crea un indice per la chiave primaria (cosa che farà se quella colonna non è già indicizzata), utilizzerà il nome del vincolo o denominerà l'indice. Non vuoi un database pieno di indici denominati come SYS_C00935191
.
Ad essere onesti, la maggior parte delle persone non si preoccupa di nominare i vincoli NOT NULL.