RE:Procedimiento Almacenado
Tabla 1 pasar datos existentes y no existentes a Tabla 2
El cursor que extrae los registros de la Tabla 1 debe traer entre sus campos la clave que insertaras en la Tabla 2, (tu me dices que si existe que borre el registro entonces asumo que tu conoces como identificar un registro en la tabla 2 mediante la clave), digamos que la clave de Tabla 2 son dos campo num_ruc e id_comprobante, seria mas o menos así:
declare
cursor curtab1 is
select ruc, comprobante.... from tabla1;
begin
for reg in curtab1 loop
delete from tabla2 where num_ruc = reg.ruc and id_comprobante=reg.comprobante;
insert into tabla2 values (reg.ruc, reg.comprobante, reg.......);
end loop;
end;
Como te digo el delete intentara siempre borrar su registro correspondiente en la tabla 2 pero no borrará nada si no existe.
Saludos