Tengo problemas con las variables para los cursores

ivensjiok
27 de Diciembre del 2003
He creado un procedure que contiene 2 cursores el primero funciona a la maravilla pero el segundo tiene un problema cuando queiro almacenar en una variable el valor y este mismo luego utilizarlo para el insert con el segundo cursor, le envio mi sentencia:
create or replace procedure anexado is
fecha_fin date;
cod_ofic varchar2(4);
num_cuenta varchar2(10);
imp_sal_ini number(14,2);
imp_sal_fin number(14,2);
imp_tot_car number(14,2);
imp_tot_abo number(14,2);
num_tot_car number(14,2);
num_tot_abo number(14,2);
sta_flag varchar2(1) :='N';
ind_div varchar2(3);
fec_con date;
ind_pro varchar2(3);
des_oper varchar2(28);
imp_ope number(14,2);
num_mov varchar2(17);
cursor temp_cur1 is select observacion from temporal;
cursor temp_cur is select substr(contenido,27,32)||substr(contenido,7,10)||substr(contenido,11,20)||
substr(contenido,34,47)||substr(contenido,60,73)||substr(contenido,26,39)||
substr(contenido,45,58)||substr(contenido,21,25)||substr(contenido,40,44)||
substr(contenido,48,50)||substr(contenido,11,16)||substr(contenido,25,27)||
substr(contenido,53,80)||substr(contenido,29,42)||substr(contenido,26,42) contenido from tempo;
begin
for v_contenido in temp_cur loop
exit when temp_cur%notfound;
insert into temporal values(secuencia.nextval,'',v_contenido.contenido);
end loop;
commit;
close temp_cur;
for v_observacion in temp_cur1 loop
exit when temp_cur1%notfound;
/***AQUI ES DONDE TENGO EL PROBLEMA***/fecha_fin := select substr(observacion,1,2)||substr(observacion,4,2)||substr(observacion,7,4)
fechafin from temporal;/***AQUI TERMINA EL PROBLEMA**/
end loop;
commit;
end;
Por favor si pudieran darme una sugerencia..
gracias...

Yayi
27 de Diciembre del 2003
No puedes asignarle a una variable el select. Utiliza select .campo1, campo2. into variable1, variable2 from tabla.

david
27 de Diciembre del 2003
primero no se puede asignar a una variable el resultado de un select de esa forma, debes utilizar la siguiente manera:
select ---------------------
into fecha_fin
from temporal;

segundo la variable fecha_fin es de tipo date así que si los campos observacion no son date o el resultado no es convertido a date no te funcionará.