Я выполняю вставку следующим образом:
INSERT INTO foo (a,b,c)
SELECT x,y,z
FROM fubar
WHERE ...
Однако, если некоторые из вставляемых строк нарушают индекс дублирующегося ключа в foo, я хочу, чтобы база данных игнорировала эти строки, не вставляла их и продолжала вставлять другие строки.
БД, о которой идет речь, - это Informix 11.5. В настоящее время все, что происходит, это то, что БД выдает исключение. Если я попытаюсь обработать исключение с помощью:
ON EXCEPTION IN (-239)
END EXCEPTION WITH RESUME;
... это не помогает, потому что после того, как исключение поймано, вся вставка пропускается.
Я не думаю, что informix поддерживает INSERT IGNORE или INSERT ... ON DUPLICATE KEY ..., но не стесняйтесь исправлять меня, если я ошибаюсь.