Я использую JDBC и выполняю запрос. Есть ли способ узнать причину, по которой он вышел из строя из возвращенного объекта SQLException?
В частности, я хочу знать, нарушил ли мой запрос ограничение внешнего ключа (и какой) или ограничение ключа.
Будет ли этот результат зависеть от поставщика? На всякий случай я использую драйвер postgresql-8.4-701.jdbc4.jar. Если это зависит от поставщика, где я могу найти коды?
РЕДАКТИРОВАТЬ: я хочу сделать это динамически - то есть
if(violated foreign key constraint on attribute x) {
return 5;
} else if (violated primary key constraint) {
return 7;
} else {
return 0;
}
Или что-то в этом роде.
РЕДАКТИРОВАТЬ: Согласно этого поста , для JDBC PostgreSQL нет кодов ошибок, специфичных для поставщика. Не знаю, если это все еще в силе.