HOla Gonzalo
On 24/12/17 15:10, Gonzalo V wrote:
Feliz navidad a todos!
Gracias
Tengo una duda, si me pueden ayudar en esta navidad...
Necesito crear una funcion trigger que updatee unos datos a partir de
otras tablas pero no me funciona, alguien sale como se hace?. Lo que
llevo hecho, no me funciona.
De antemano, muchas gracias y feliz navidad y año nuevo.
CREATE OR REPLACE FUNCTION actualiza_fact_registro_trigger() RETURNS
TRIGGER AS $$
BEGIN
Update "Facturacion_registro" f set "Cod_sucursal"=(select s."ID" from
sucursales s where
s."DIRECCION"=f."Dirección")
from sucursales s
where
s."RUT"=f."Rut" and s."DIRECCION"=f."Dirección" and f."Cod_sucursal"
is null;
el update es lo que no funciona u otra cosa?
si es el update creo que puede ser el subquery que colocas es el que te
da el problema (select s."ID" from sucursales s where
s."DIRECCION"=f."Dirección")
si mal no recuerdo de la documentación de UPDATE puedes hacer el FROM
directo de la tabla sucursales en el UPDATE:
Update "Facturacion_registro" f set "Cod_sucursal"=s."ID"
from sucursales s
where
s."RUT"=f."Rut" and s."DIRECCION"=f."Dirección" and f."Cod_sucursal" is
null;
RETURN new;
END
$$
LANGUAGE 'plpgsql';
CREATE TRIGGER vencimientos_trigger AFTER INSERT OR UPDATE ON
"Facturacion_registro" EXECUTE PROCEDURE
actualiza_fact_registro_trigger();
Saludos,
Gonzalo
Saludos