DECLARE
v_error_msg VARCHAR2(4000);
BEGIN
FOR rec IN (SELECT перечислить колонки FROM view_name) LOOP
BEGIN
-- Вставка строки в таблицу
INSERT INTO table_name
VALUES rec;
-- Опционально: можно делать коммит после каждой вставки
-- COMMIT;
EXCEPTION
-- Обработка ошибок
WHEN OTHERS THEN
-- Получаем сообщение об ошибке
v_error_msg := SQLERRM;
-- Выводим информацию о проблемной строке и ошибке
DBMS_OUTPUT.PUT_LINE('Ошибка при обработке строки: ' || v_error_msg);
DBMS_OUTPUT.PUT_LINE('Проблемная строка: ' || rec.column1 || ', ' || rec.column2); -- Можно добавить вывод других колонок
END;
END LOOP;
-- Заключительный коммит
COMMIT;
END;
Comments
Post a Comment