Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/05/2007, 08:18
mariovargascareaga
 
Fecha de Ingreso: abril-2007
Mensajes: 27
Antigüedad: 17 años, 1 mes
Puntos: 0
ayuda con tablas temporales

Tengo la sgte consulta en mssql server 2000 q es parte de un procedimiento almanacenado

create table #temporal (desorgano char(40),desdistrito char(40), destipoprestamo char(40),num_pre int,pagos money, saldo money)
INSERT INTO #temporal
select e.descrip as desorgano,f.descrip as desdistrito,g.descripcion as destipoprestamo,
a.num_pre,sum(a.trn_imp) as pagos,b.mon_des-sum(a.trn_imp) as saldo
from pre_trn a,prestamo b,rel_idu c,rel_ocu_fun d,organo e,distrito f,tip_pre g
where a.num_pre=b.num_pre and a.fec_tra<=@fecha
and a.tip_trn=2 and a.baja=0 and a.temporal=0
and b.cod_per=d.cod_per and c.cod_ridu=d.rel_ridu and d.vigente=1 and c.cod_org=e.cod_org
and c.cod_dis=f.cod_dist and b.cod_tipo=g.cod_tipo
group by e.descrip,f.descrip,g.descripcion,a.num_pre,b.mon_ des
union
select e.descrip as desorgano,f.descrip as desdistrito,g.descripcion as destipoprestamo,
b.num_pre,0 as pagos,b.mon_des as saldo from m_prestamosinpagos b,rel_idu c,
rel_ocu_fun d,organo e,distrito f,tip_pre g
where b.fec_des<=@fecha and b.cod_per=d.cod_per and c.cod_ridu=d.rel_ridu and d.vigente=1
and c.cod_org=e.cod_org and c.cod_dis=f.cod_dist and b.cod_tipo=g.cod_tipo
union
select e.descrip as desorgano,f.descrip as desdistrito,h.descripcion as destipoprestamo,
b.num_pre,0 as pagos,b.mon_des as saldo from prestamo b,rel_idu c,rel_ocu_fun d,
organo e,distrito f,tip_pre h,
m_fechasminimas g where b.fec_des<=@fecha and g.fechaminima>@fecha and b.num_pre=g.num_pre
and b.cod_per=d.cod_per and c.cod_ridu=d.rel_ridu and d.vigente=1 and c.cod_org=e.cod_org
and c.cod_dis=f.cod_dist and b.cod_tipo=h.cod_tipo
select desorgano,desdistrito,destipoprestamo,sum(saldo) as total from #temporal group by desorgano,desdistrito,destipoprestamo order by desorgano,desdistrito,destipoprestamo
drop table #temporal



hice en postgres las misma consulta

create temporary table temporal(desorgano character(40),desdistrito character(40), destipoprestamo character(40),num_pre integer,pagos double precision, saldo double precision);
insert into temporal(desorgano,desdistrito,destipoprestamo,num _pre,pagos,saldo)
select e.descrip as desorgano,f.descrip as desdistrito,g.descripcion as destipoprestamo,
a.num_pre,sum(a.trn_imp) as pagos,b.mon_des-sum(a.trn_imp) as saldo
from pre_trn a,prestamo b,rel_idu c,rel_ocu_fun d,organo e,distrito f,tip_pre g
where a.num_pre=b.num_pre and a.fec_tra<='2007-12-12'
and a.tip_trn='2' and a.baja='0' and a.temporal='0'
and b.cod_per=d.cod_per and c.cod_ridu=d.rel_ridu and d.vigente='1' and c.cod_org=e.cod_org
and c.cod_dis=f.cod_dist and b.cod_tipo=g.cod_tipo
group by e.descrip,f.descrip,g.descripcion,a.num_pre,b.mon_ des
union
select e.descrip as desorgano,f.descrip as desdistrito,g.descripcion as destipoprestamo,
b.num_pre,0 as pagos,b.mon_des as saldo from m_prestamosinpagos b,rel_idu c,
rel_ocu_fun d,organo e,distrito f,tip_pre g
where b.fec_des<='2007-12-12' and b.cod_per=d.cod_per and c.cod_ridu=d.rel_ridu and d.vigente='1'
and c.cod_org=e.cod_org and c.cod_dis=f.cod_dist and b.cod_tipo=g.cod_tipo
union
select e.descrip as desorgano,f.descrip as desdistrito,h.descripcion as destipoprestamo,
b.num_pre,0 as pagos,b.mon_des as saldo from prestamo b,rel_idu c,rel_ocu_fun d,
organo e,distrito f,tip_pre h,
m_fechasminimas g where b.fec_des<='2007-12-12' and g.fechaminima>'2007-12-12' and b.num_pre=g.num_pre
and b.cod_per=d.cod_per and c.cod_ridu=d.rel_ridu and d.vigente='1' and c.cod_org=e.cod_org
and c.cod_dis=f.cod_dist and b.cod_tipo=h.cod_tipo;
select desorgano,desdistrito,destipoprestamo,sum(saldo) as total from temporal group by desorgano,desdistrito,destipoprestamo order by desorgano,desdistrito,destipoprestamo;
drop table temporal;

a diferencia del sql server el postgres ya no me muestra el resultado de la consulta,en el postgres no me esta tomando en cuenta el select que hago antes del drop
la logica de esta consulta es la sgte
1.-creo la tabla temporal create temporary table temporal
2.- inserto los registros con un select insert into temporal
3.-hago una consulta para ver los datos que ingrese en la tabla temporal
4.-hago el drop de la tabla temporal

en el sql funciona perfecto pero en el postgres ya no me devuelve el resultado de la ultima consulta antes del drop