From: | Alejandro Gasca <agasca(at)yahoo(dot)com> |
---|---|
To: | ayuda postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | duda con 'Example 37-3' del manual para version 8.2.1 |
Date: | 2007-02-12 22:47:52 |
Message-ID: | 20070212224752.55300.qmail@web34313.mail.mud.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Saludos.
En el manual, en la seccion de triggers escritos en plpgsql viene un ejemplo de un trigger:
CREATE OR REPLACE FUNCTION process_emp_audit() RETURNS TRIGGER AS $emp_audit$
BEGIN
--
-- Create a row in emp_audit to reflect the operation performed on emp,
-- make use of the special variable TG_OP to work out the operation.
--
IF (TG_OP = DELETE) THEN
INSERT INTO emp_audit SELECT D, now(), user, OLD.*;
RETURN OLD;
ELSIF (TG_OP = UPDATE) THEN
INSERT INTO emp_audit SELECT U, now(), user, NEW.*;
RETURN NEW;
ELSIF (TG_OP = INSERT) THEN
INSERT INTO emp_audit SELECT I, now(), user, NEW.*;
RETURN NEW;
END IF;
RETURN NULL; -- result is ignored since this is an AFTER trigger
END;
$emp_audit$ LANGUAGE plpgsql;
CREATE TRIGGER emp_audit
AFTER INSERT OR UPDATE OR DELETE ON emp
FOR EACH ROW EXECUTE PROCEDURE process_emp_audit();
Alguien sabe bajo que condiciones se ejecuta el RETURN NULL ? Al correr el ejemplo no veo como se puede llegar a esta linea.
Gracias.
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
From | Date | Subject | |
---|---|---|---|
Next Message | HERNANDO SAENZ | 2007-02-12 23:09:46 | Problemas con Vistas |
Previous Message | Jonathan ....nem4 | 2007-02-12 21:59:54 | Postgres+postgis |