24/09/2009, 11:21
|
| | Fecha de Ingreso: septiembre-2009
Mensajes: 8
Antigüedad: 15 años, 2 meses Puntos: 0 | |
ayuda pl create or replace procedure rrrep_solicita(fecha_v pedido.fecha%type)
is
cursor c1
is
select num_ped
from pedido
where fecha >= fecha_v;
cursor c2
is
select cod_rep
from det_pedido
where num_ped = n_ped;
suma number;
porc number;
n_ped pedido.num_ped%type;
a_autor rep_cuadro.autor%type;
a_cod rep_cuadro.cod_rep%type;
a_tit rep_cuadro.titulo%type;
begin
open c1;
loop
fetch c1 into n_ped;
exit when c1%notfound;
open c2;
loop
fetch c2 into a_cod;
exit when c2%notfound;
porc := pprom_cant(a_cod);
if porc <> 0 then
select sum(cant_ped) into suma
from det_pedido where cod_rep = a_cod;
if (porc * 2) >= suma and suma > 20 then
select titulo, autor into a_tit, a_autor from rep_cuadro where cod_rep = a_cod;
update existencia set cant_min = round(cant_min * 1.8) where cod_rep = a_cod;
dbms_output.put_line('codigo: ' || a_cod ||' titulo: ' || a_tit ||'autor: ' || a_autor || 'cantidad: ' || suma );
end if;
end if;
end loop;
end loop;
close c1;
close c2;
end;
/
me manda este error:
10/1 PL/SQL: SQL Statement ignored
10/8 PLS-00320: la declaración del tipo de expresión es incompleta o
con forma inadecuada
12/17 PLS-00320: la declaración del tipo de expresión es incompleta o
con forma inadecuada
27/3 PL/SQL: SQL Statement ignored
supongo q es por el cursor, pero porque?
si alguin me puede ayudar. |