エラーメッセージには、違反した制約の名前が含まれます(テーブルに複数の一意の制約がある場合があります)。その制約名を使用して、一意の制約が宣言されている列を識別することができます
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>>
影響を受ける列がわかれば、INSERT
しようとしているデータを比較できます。 またはUPDATE
制約に違反している理由を特定するために、すでにテーブルにあるデータに対して。