Amigos, tengo una consulta una tabla temporal tiene las mismas operaciones que 
una tabla normal??, ya que tengo una funcion en la que uso una tabla temporal, 
realizo operaciones de insert pero no me funciona no se que estoy haciendo man 
adjunto envio la funcin que estoy usando

CREATE OR REPLACE FUNCTION balanceMensual1(vagecod character varying, vfeccorte 
date)
  RETURNS refcursor AS
$BODY$
DECLARE
    rBalMensual record;
    cuenta record;
    resultado refcursor;
BEGIN

    create temporary table BalMes(asicuecod varchar(20),asideb numeric,asihab 
numeric,enero numeric,febrero numeric,
        marzo numeric,abril numeric,mayo numeric,junio numeric,julio 
numeric,agosto numeric,septiembre numeric,
        octubre numeric,noviembre numeric,diciembre numeric,grupo character 
varying(1));
        for rBalMensual in
            select  extract(MONTH from asifec) as 
mes,asidet.asicuecod,sum(asidet.asideb) as asideb,sum(asidet.asihab) as 
asihab,cuegrutip as grupo
            FROM asicab,asidet,agencias,cuentagrupo
            WHERE     agencias.agecod=asicab.asiagecod
                and asicab.asiagecod=asidet.asiagecod 
                and asicab.asidoc=asidet.asidoc 
                and asicab.asinum=asidet.asinum 
                and cuentagrupo.cuegrucod=substring(asidet.asicuecod,1,1) 
                and asifec<=vFecCorte
            group by mes,asidet.asicuecod,cuegrutip
            ORDER BY mes,asicuecod
        LOOP
            if rBalMensual.mes=1 then
                --verifico si ya hay un registro con el codigo de la cuenta 
contable en la tabla temporal
                select into cuenta * from BalMes where 
asicuecod=rBalMensual.asicuecod;                
                if NOT FOUND then
                      --Aqui esta el problema que cuando no encuantra un 
registro con el codigo de la cuanta contable realizo un insert en la tabla 
temporal, pero parece que nunca hace el insert ya que nunca encuentra nada en 
la tabla osea siempre durante todo el loop ingresa aqui
                    insert into 
BalMes(asicuecod,asideb,asihab,enero,febrero,marzo,abril,mayo,junio,julio,agosto,septiembre,octubre,noviembre,diciembre,grupo)
 
values(rBalMensual.asicuecod,rBalMensual.asideb,rBalMensual.asihab,0,0,0,0,0,0,0,0,0,0,0,0,'A');
                else
                    update balmes set 
enero=rBalMensual.asideb-rBalMensual.asihab where 
asicuecod=rBalMensual.asicuecod;
                end if;             
            end if;
        END LOOP;
        open resultado for select * from balmes;
        return resultado;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE

_________________________________________________________________
Get 5 GB of storage with Windows Live Hotmail.
http://windowslive.com/Explore/Hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_5gb_112008

Responder a