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