У меня есть следующий код, который не выполняется правильно. У меня есть данные, хранящиеся в date_tmp (varchar), которые содержат даты и недены. Я хочу перенести даты в этот столбец на date_run (дата), а данные, которые не являются датой, будут перенесены в столбец комментариев (varchar). Когда я запускаю следующий код, весь набор данных перемещается в комментарии. Он отлично работает, когда я редактирую инструкцию insert и просто запускаю строку dbms_outputline. Что я могу сделать неправильно?PL/SQL - Вставка данных с использованием исключения
DECLARE
CURSOR getrow IS
SELECT a.id, a.date_tmp
FROM mycolumn a
WHERE a.id < 1300;
v_date date;
BEGIN
FOR i in getrow LOOP
BEGIN
v_date := to_date(i.date_tmp, 'mm/dd/yy');
INSERT INTO mycolumn a(a.date_run)
VALUES(i.date_tmp);
EXCEPTION
WHEN OTHERS THEN
--dbms_output.put_line(i.date_tmp);
update mycolumn a
SET a.comments = i.date_tmp
where a.id = i.id;
END;
END LOOP;
END;
попробуйте 'INSERT INTO mycolumn (date_run) VALUES (i.date_tmp);' вместо инструкции insert, поскольку она стоит прямо сейчас – Sebas