Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/12/2007, 13:00
habil
 
Fecha de Ingreso: septiembre-2005
Mensajes: 41
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Duda Con Procedimiento

Cita:
Iniciado por matanga Ver Mensaje
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