Ciągłe wstawianie w Oracle, gdy wyjątek zostanie zgłoszony

Pracuję nad migracją danych ze starszego systemu do naszej nowej aplikacji (działającej na Oracle Database, 10gR2). W ramach migracji pracuję nad skryptem, który wstawia dane do tabel używanych przez aplikację.

Liczba wierszy danych importowanych przebiega w tysiącach, a dane źródłowe nie są czyste (nieoczekiwane wartości null w kolumnach NIE NULL itp.). Tak więc podczas wstawiania danych przez skrypty, za każdym razem, gdy taki wyjątek występuje, skrypt kończy się nagle i cała transakcja jest wycofywana.

Czy istnieje sposób, w jaki mogę kontynuować wstawianie danych, dla których wiersze są czyste? Za pomocąNVL() lubCOALESCE() nie jest opcją, ponieważ chciałbym rejestrować wiersze powodujące błędy, aby dane mogły zostać poprawione na następny przebieg.

EDYCJA: Moja bieżąca procedura ma procedurę obsługi wyjątków, loguję pierwszy wiersz, który powoduje błąd. Czy byłoby możliwe, aby wkładki były kontynuowane bez zakończenia, ponieważ teraz w pierwszym obsługiwanym wyjątku procedura kończy wykonywanie.

questionAnswers(5)

yourAnswerToTheQuestion