Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2009, 14:35
cacr
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
actualizar registro en una función trigger

Saludos

Tengo una tabla A:
codigo_solicitud character varying(12)
relacion boolean
...

Tabla B:
codigo_relacion character varying(12)
...

Todo registro que se inserta en B, existe en A, de manera que al insertar en B, se debe actualizar el campo 'relacion' en A a verdadero. Para ello:

Tengo un trigger:
CREATE TRIGGER relacionarCampo AFTER INSERT ON TablaA FOR EACH ROW EXECUTE PROCEDURE relacionar()

Donde relacionar es una función:
CREATE FUNCTION relacionar() RETURNS "trigger"
AS $$BEGIN
UPDATE TablaA SET relacion = 'true' WHERE codigo_solicitud = 'NEW.codigo_relacion';
Return NEW;
END;
$$
LANGUAGE plpgsql;

Sin embargo, no llega... probé a quitarle el WHERE, y veo que sí se está ejecutando el trigger, y llega a la función, pues actualiza todos los registros...

Supongo, que estoy mal llamando (trayendo, devolviendo) el valor de codigo_relacion...
__________________
Gracias de todas todas
-----
Linux!

Última edición por cacr; 25/03/2009 a las 14:45