Каков наилучший подход к обработке вставки данных перед их удалением, как я могу убедиться, что после вставки данных из таблицы1 в таблицу2 я не потеряю их, если хочу удалить данные, вставленные из таблицы1.
Я работаю над процедурой, и до сих пор я придумал этот процесс, который я не уверен, что это лучший способ защитить данные, которые я вставляю.
SAVEPOINT start_transaction;
stmt_ins:= 'INSERT into ' || n_tab2 || ' SELECT * FROM ' || n_tab || ' where criado_em< :dt';
EXECUTE IMMEDIATE stmt_ins USING sysdate;
dbms_output.put_line('value '||SQL%ROWCOUNT);
DBMS_OUTPUT.PUT_LINE(stmt_ins);
-- siima_logs_bck.INSE_LOG(1,'TESTE INSERIR','INS_LOGS','2', 'testes insert log');
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
ROLLBACK TO start_transaction;
stmt_del:= 'DELETE FROM ' || n_tab || ' WHERE criado_em<:dt';
DBMS_OUTPUT.PUT_LINE(stmt_del);
EXECUTE IMMEDIATE stmt_del USING SYSDATE;
В основном я получаю данные из вкладки tab1 в tab2 в соответствии с датой ее создания. Что я могу сделать, чтобы не потерять мою вставку и потерять данные, которые я удаляю?
приветствуются любые советы / рекомендации, которые помогут улучшить мой процесс, спасибо