Определенное приложение, на которое я не имею никакого влияния, собирается добавить несколько тысяч записей в различные таблицы в моей базе данных Firebird, одноразовое событие.Мне нужно перехватить ряд из них, основываясь на определенных критериях.
Согласно FAQ Firebird, мне нужно добавить триггер, который проверяет каждую запись перед вставкой и выдает исключение, если критерии удовлетворены.Тем не менее, я не могу создать исключение для этого приложения, потому что оно прервет весь процесс - после первого исключения записи больше не будут добавляться вообще.
Это означает, что мне нужен способ иметь Firebirdмолча отбросить записи, соответствующие критериям при вставке.Тем не менее, я не нашел способа для обработчика исключений сделать это.Пожалуйста, предложения.
Редактировать: Я пришел к выводу, что лучший способ сделать это, возможно, было бы вставить запись, а затем удалить с помощью триггера после вставки.В этом случае я ищу способ для триггера, отвечающего на вставку определенной записи, выбрать эту и только эту запись и удалить ее.У всех таблиц есть первичный ключ, но записи, от которых мне нужно избавиться, нужно отправлять только потому, что они несовместимы с ним.Например, значения NULL, которые не должны быть.Я предпочитаю не преобразовывать эти значения в действительные, чтобы можно было вставить запись, а затем выбрать и удалить ее, потому что я не могу гарантировать, что уже нет записей с этими значениями, которые я хочу сохранить.