2017-12-24 15:10 GMT-03:00 Gonzalo V <gvm2...@gmail.com>: > Feliz navidad a todos! > 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; > RETURN new; > END > $$ > LANGUAGE 'plpgsql'; > > CREATE TRIGGER vencimientos_trigger AFTER INSERT OR UPDATE ON > "Facturacion_registro" EXECUTE PROCEDURE actualiza_fact_registro_ > trigger(); > > > > > Saludos, > Gonzalo >
No queda claro que es lo que "no funciona". Si no me equivoco, la funcion del trigger no usa para nada los valores del registro que se esta insertando, por lo que, para empezar, proba directamente ese SQL de la funcion, tiralo via 'psql' como un query comun y corriente. Tal vez sucede que los WHERE de tu query no satisfacen ningun registro, pero de nuevo, no se entiende cual es el problema. HTH -- -- Gerardo Herzig Principal Consultant at Ayres Data Team root at Via Postgres Argentina