From: | Jaime Casanova <systemguards(at)gmail(dot)com> |
---|---|
To: | Rodrigo Barahona <rbarahona(at)maestra(dot)cl> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Trigger |
Date: | 2005-11-23 19:39:13 |
Message-ID: | c2d9e70e0511231139t697a1619p1327e04c9cc241f1@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
>
>
> DECLARE
>
> curMateriales cursor for select material, cantidad, categoria,
> subcategoria
>
> from detalle_obra
>
> where num_ocompra = new.num_orden_compra;
>
> BEGIN
>
> while fetch 1 in curMateriales into
> id_material,vCantidad,vCategoria,vSubcategoria loop
>
> insert into detalle_movimientos_bodega values(
>
> new.id_guia_ingreso,new.numero_obra, 0,id_material,0,vCantidad,
>
> 0, 0, 0, 0, vCategoria, vSubcategoria);
>
> end loop;
>
> RETURN NULL;
>
> END;
>
>
>
> La idea básica es que cada vez que se ingrese un moviemiento en la bodega,
> se grabe automáticamente todos los materiales en la tabla de detall
>
>
Hace tiempo que no uso cursores, prueba esto:
DECLARE
curMateriales record;
BEGIN
for curMateriales in select material, cantidad, categoria, subcategoria
from detalle_obra
where num_ocompra = new.num_orden_compra
loop
insert into detalle_movimientos_bodega values(
new.id_guia_ingreso,new.numero_obra,
0,curMateriales.material,0,curMateriales.cantidad,0, 0, 0, 0,
curMateriales.categoria, curMateriales.subcategoria);
end loop;
RETURN NULL;
END;
--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)
From | Date | Subject | |
---|---|---|---|
Next Message | Luis Guevara | 2005-11-23 19:41:04 | Re: Manual de instalación de PotgreSQL en español |
Previous Message | Rodrigo Barahona | 2005-11-23 19:26:12 | RE: Trigger |