Ho un vincolo chiamato users.SYS_C00381400
. Come posso trovare che cosa è questo vincolo? C'è un modo per interrogare tutti i vincoli?Oracle trova un vincolo
risposta
select * from all_constraints
where owner = '<NAME>'
and constraint_name = 'SYS_C00381400'
/
Come tutti i dati viste del dizionario, questo un user_constraints vista se si desidera solo per controllare il vostro schema corrente e una vista DBA_CONSTRAINTS per gli utenti di amministrazione.
La costruzione del nome del vincolo indica un nome del vincolo generato dal sistema. Ad esempio, se si specifica NOT NULL in una dichiarazione di tabella. O in effetti una chiave primaria o unica. 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, per 'P'
primaria.
Generalmente è una buona idea fornire ai vincoli relazionali un nome esplicito. Ad esempio, se il database crea un indice per la chiave primaria (cosa che farà se tale colonna non è già indicizzata) utilizzerà il nome del vincolo o il nome dell'indice. Non si desidera un database completo di indici denominati come SYS_C00935191
.
La maggior parte delle persone non si preoccupa di nominare i vincoli NOT NULL.
Per ottenere una descrizione più dettagliata (che i riferimenti tabella/colonna quale tabella/colonna) è possibile eseguire la seguente query:
SELECT uc.constraint_name||CHR(10)
|| '('||ucc1.TABLE_NAME||'.'||ucc1.column_name||')' constraint_source
, 'REFERENCES'||CHR(10)
|| '('||ucc2.TABLE_NAME||'.'||ucc2.column_name||')' references_column
FROM user_constraints uc ,
user_cons_columns ucc1 ,
user_cons_columns ucc2
WHERE uc.constraint_name = ucc1.constraint_name
AND uc.r_constraint_name = ucc2.constraint_name
AND ucc1.POSITION = ucc2.POSITION -- Correction for multiple column primary keys.
AND uc.constraint_type = 'R'
AND uc.constraint_name = 'SYS_C00381400'
ORDER BY ucc1.TABLE_NAME ,
uc.constraint_name;
Da here.
forse questo può aiutare ..
SELECT constraint_name, constraint_type, column_name
from user_constraints natural join user_cons_columns
where table_name = "my_table_name";
- 1. Trova un vincolo univoco nella tabella database
- 2. Modifica vincolo univoco in Oracle
- 3. Vincolo univoco Oracle con espressione
- 4. Vincolo univoco condizionale in oracle db
- 5. Vincolo unico Oracle e indice univoco
- 6. Trovare vincolo fantasma da Oracle DB
- 7. Violazione del vincolo univoco Oracle che fa riferimento a un vincolo che non sembra esistere
- 8. Trova se una colonna ha un vincolo univoco
- 9. Trova il nome del server per un database Oracle
- 10. Trova intervallo corrispondente in SQL - Oracle
- 11. Violazione del vincolo univoco durante l'inserimento: perché? (Oracle)
- 12. Vincolo non sensibile alle maiuscole/minuscole nel database Oracle
- 13. Oracle SQL vincolo univoco A a B, B ad A
- 14. SQL Oracle valore vincolo univoco tra più colonne
- 15. Query Oracle vincolo dopo il valore di search_condition
- 16. Privilegi insufficienti quando si aggiunge il vincolo FK (Oracle)
- 17. Cercando di modificare un vincolo in PostgreSQL
- 18. Eliminazione in seguito all'aggiunta di un vincolo non riuscito in Oracle
- 19. Come assegnare un vincolo univoco a una combinazione di colonne in Oracle?
- 20. In Oracle, Come dichiaro un vincolo univoco su una coppia di valori ed è paio inverso
- 21. Vincolo univoco su più colonne
- 22. Trova il valore predefinito per una colonna (Oracle)
- 23. Oracle PL Sql Developer non trova il mio file tnsnames.ora
- 24. Trova primo e ultimo giorno dell'ultimo quarto in Oracle
- 25. Trova elementi duplicati in una colonna Oracle SQL
- 26. Mysql show crea un vincolo?
- 27. Registrare vincolo personalizzato per vincolo esistente
- 28. Oracle: un client Oracle 10g funziona con un server 11g?
- 29. vincolo polimorfico
- 30. Oracle: trova la posizione di un errore in SQL dinamico utilizzando SQL o PL/SQL
come sapere vincolo? users.SYS_C00381400 – Vinay
Il nome del vincolo visualizzato in un messaggio di errore. –