Игнорирование ошибки -803 в процедуре

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Mitrio
Сообщения: 1
Зарегистрирован: 14 апр 2005, 12:07

Игнорирование ошибки -803 в процедуре

Сообщение Mitrio » 14 апр 2005, 12:20

Есть процедура, в которой осуществляется вставка в несколько таблиц:

insert into table1 bla-bla-bla...select from source1 bla-bla-bla;
insert into table2 bla-bla-bla...select from source2 bla-bla-bla;
insert into table3 bla-bla-bla...select from source3 bla-bla-bla;
insert into table4 bla-bla-bla...select from source4 bla-bla-bla;
...
insert into table25 bla-bla-bla...select from source25 bla-bla-bla;

Вопрос в следующем: если при попытке вставить в table1 (или любую другую) возникает ошибка -803 (совпадение уникального индекса) хотелось бы сделать так, чтобы процедура не вываливалась с ошибкой, а продолжала работу и вставляла данные в другие таблицы.

Первое, что мне пришло на ум - ставить перед каждым insert условия if(not exists (select...)) и при его выполнении осуществлять вставку.

Есть ли другие варианты?

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 14 апр 2005, 12:27


Ответить