Cita:
Iniciado por matanga Hola,
Antes que nada debo decir que como todo foro o comunicacion escrita, es dificil establecer el tono en que los usuarios escriben, pero tambien existen signos que puede darnos una idea de la expresion escrita. Como por ejemplo ESCRIBIR EN MAYUSCULAS implica o da la idea de estar gritando, en tu caso, y a modo de consejo digo, deberias cuidar el exceso de signos "!!!!", porque pueden dar a entender enojo.
Si una respuesta no te parece adecuada, pide por una aclaracion, y no exclames "eso no sirve!!!".
Si hay algun error de tipeo en la respuesta, adaptalo tu a tu codigo, no demandes una respuesta libre de errores tipograficos o de copiar y pegar.
Dicho lo anterior, paso a la respuesta.
Código:
SQL> create or replace procedure p1
2 as
3 begin
4 insert into mov_2
5 select
6 id_movimientos_mes,
7 fecha,
8 cantidad,
9 total,
10 tipo_entrega,
11 null,
12 n_factura,
13 orden_compra
14 from mov_1;
15 execute immediate 'truncate table mov_1';
16 delete from mov_1;
17 end;
18 /
Procedure created.
1. Presta especial antecion a que puse en el procedimiento dos opciones un DELETE y un TRUNCATE, elige la que mas te guste y ya estas listo para la tarea.
2. Presta especial atencion a que las columnas de las tablas no son iguales, por lo tanto perderas datos en el paso de filas de una tabla a la otra.
Saludos
bueno viejo! entonces tu dices que con ese procedemiento se puede realizar lo que yo deseo pero no es asi ya que el procedimiento que tu describes carece de cursor o algun loop que recorra la tabla mov_1 yo estoy realizando algo como esto pero no logro compilar
CREATE OR REPLACE PROCEDURE ABASTEC.INSERTA_MOV IS
CURSOR INSERTA IS
SELECT id_movimientos_mes, fecha, cantidad, total, tipo_entrega, n_factura, orden_compra
FROM MOVIMIENTOS_MES
ORDER BY id_movimientos_mes;
v_id_mov MOVIMIENTOS_MES.id_movimientos_mes%type;
v_fec MOVIMIENTOS_MES.fecha%type;
v_cant MOVIMIENTOS_MES.cantidad%type;
v_tot MOVIMIENTOS_MES.total%type;
v_ti_ent MOVIMIENTOS_MES.tipo_entrega%type;
v_n_fact MOVIMIENTOS_MES.n_factura%type;
v_or_com MOVIMIENTOS_MES.orden_compra%type;
begin
open inserta;
fetch inserta into v_id_mov, v_fec, v_cant, v_tot, v_ti_ent, v_n_fact, v_or_com;
while inserta%found
loop
insert into movimiento_historico
(ID_MOVIMIENTOS_MES, FECHA, CANTIDAD,
TOTAL, TIPO_ENTREGA, FECHA_TRASPASO,
N_FACTURA, ORDEN_COMPRA)
values(v_id_mov, v_fec, v_cant, v_tot, v_ti_ent, sysdate, v_n_fact, v_or_com);
end loop;
close inserta;
commit;
--truncate table movimientos_mes;
end;
/
pero tengo problemas con la fecha ya que en el campo fecha de la tabla mov_2 necesito la fecha en que se realizo el proceso. no logro que compile por toad me da un error