Il messaggio di errore includerà il nome del vincolo violato (potrebbe esserci più di un vincolo univoco su una tabella). Puoi utilizzare il nome del vincolo per identificare la colonna o le colonne su cui è dichiarato il vincolo univoco
SELECT column_name, position
FROM all_cons_columns
WHERE constraint_name = <<name of constraint from the error message>>
AND owner = <<owner of the table>>
AND table_name = <<name of the table>>
Una volta che sai quali colonne sono interessate, puoi confrontare i dati che stai cercando di INSERT
o UPDATE
rispetto ai dati già nella tabella per determinare il motivo per cui il vincolo viene violato.