У меня есть таблица в Oracle с несколькими ограничениями. Когда я вставляю новую запись, и не все ограничения действительны, тогда Oracle поднимает только "первую" ошибку. Как получить все нарушения моей записи?
CREATE TABLE A_TABLE_TEST (
COL_1 NUMBER NOT NULL,
COL_2 NUMBER NOT NULL,
COL_3 NUMBER NOT NULL,
COL_4 NUMBER NOT NULL
);
INSERT INTO A_TABLE_TEST values (1,null,null,2);
ORA-01400: cannot insert NULL into ("USER_4_8483C"."A_TABLE_TEST"."COL_2")
Я хотел бы получить что-то вроде этого:
Column COL_2: cannot insert NULL
Column COL_3: cannot insert NULL
This would be also sufficient:
Column COL_2: not valid
Column COL_3: not valid
Конечно, я мог бы написать триггер и проверять каждый столбец отдельно, но мне нравится предпочитать ограничения, а не триггеры, их легче поддерживать и не требуют ручного написания кода.
Любая идея?