Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/03/2009, 06:15
refreegrata
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 15 años, 9 meses
Puntos: 27
Respuesta: duda con comparacion

claramente escribi "despues de", de seguro mi ingles es malo pero nunca tanto.
Código:
CREATE FUNCTION funciona()
RETURNS trigger AS $triggera$
BEGIN
	IF TG_OP = 'UPDATE' AND NEW.campo=OLD.valorcampo THEN
		...
	END IF;
        .....
	RETURN NULL;
END;
$triggera$ LANGUAGE plpgsql;

CREATE TRIGGER triggera
  AFTER INSERT OR UPDATE
  ON mitabla
  FOR EACH ROW
  EXECUTE PROCEDURE funciona();
como veras esta algo así, y funciona con el update y con el insert reclama
Consulta fallida: ERROR: record "old" is not assigned yet..
entiendo por que reclama, mi pregunta es si existe alguna manera de que no evalue la condicion NEW.campo=OLD.valorcampo si es que falla la primera TG_OP = 'UPDATE' como cuando programo en otro lenguaje, o hay algo mal en lo que hago, obviamente con elsif o if dentro de if funciona, pero no es la gracia???

Última edición por refreegrata; 04/03/2009 a las 07:08