Here is a example of a trigger function

CREATE OR REPLACE FUNCTION public.ipinfo_trg()
  RETURNS trigger AS
'DECLARE

dhcp    varchar:=\'DHCP\';
rtype   varchar:=\'RAS\';

BEGIN
if NEW.ipaddress != dhcp then
        if OLD.ipaddress != dhcp then
                if OLD.atype != rtype then
                        insert into vpnip(ipaddress)
values(inet(OLD.ipaddress));
                else                    
                        insert into rasip(ipaddress)
values(inet(OLD.ipaddress));
                end if;
        else end if;
else
        if OLD.ipaddress != dhcp then
                if OLD.atype != rtype then
                        insert into vpnip(ipaddress)
values(inet(OLD.ipaddress));
                else                    
                        insert into rasip(ipaddress)
values(inet(OLD.ipaddress));
                end if;
        else end if;


END IF;
Return NEW;
END;
'
  LANGUAGE 'plpgsql' VOLATILE;

Here is a example of how to call the trigger function from your table
CREATE TRIGGER update_ipinfo_trg
  AFTER UPDATE
  ON public.ipinfo
  FOR EACH ROW
  EXECUTE PROCEDURE public.ipinfo_trg();

-----Original Message-----
From: John DeSoi [mailto:[EMAIL PROTECTED] 
Sent: Friday, December 17, 2004 10:38 AM
To: Richard Sydney-Smith
Cc: [EMAIL PROTECTED]
Subject: Re: [SQL] Table History


On Dec 17, 2004, at 1:23 AM, Richard Sydney-Smith wrote:

> I expect this has been done MANY times and I wonder if a general 
> purpose trigger exists or if not then can someone point me to an 
> example set of triggers?


I'm not aware of a "general purpose" trigger for this. If you just want 
some extra trigger examples other than what is in the documentation, 
there is a test file in the distribution with quite a few:

src/test/regress/sql/plpgsql.sql

Best,

John DeSoi, Ph.D.
http://pgedit.com/
Power Tools for PostgreSQL


---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

Reply via email to