Re: Converting IBM DB2 TRIGGERs to PostgreSQL

From: Alan Searles <alien(at)attglobal(dot)net>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: Converting IBM DB2 TRIGGERs to PostgreSQL
Date: 2003-06-12 09:48:16
Message-ID: 1055411296.4096.9.camel@aurora
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Josh... thanks very much for the quick response. PostgreSQL looks to be
very flexible. I will give it a try.

Thanks again.

/Alan

On Wed, 2003-06-11 at 01:25, Josh Berkus wrote:
> Alan,
>
> > Part of my challenge is to somehow convert the following (sample)
> > TRIGGER statements that work just fine under DB2.
>
> Easy. Read the part in the "Procedural Languages" section in the online docs
> on "PL/pgSQL Triggers"
>
> To do what you want .....
>
> CREATE FUNCTION tf_alien_log () RETURNS TRIGGER AS '
> DECLARE op_var TEXT;
> create_date TIMESTAMP;
> BEGIN
> IF TG_OP = ''UPDATE'' THEN
> op_var := ''UPD'';
> create_date := NEW.created;
> ELSE
> op_var := ''INS'';
> create_date := CURRENT_TIMESTAMP;
> END IF;
>
> INSERT INTO alien.country_log
> VALUES (NEW.countryid, NEW.fullname, NEW.code, NEW.undefined,
> NEW.markfordelete, NEW.userid,
> create_date, CURRENT_TIMESTAMP, op_var);
>
> RETURN NEW;
> END; ' LANGUAGE 'plpgsql';
>
> CREATE TRIGGER tg_alien_log AFTER INSERT OR UPDATE ON alien.country
> FOR EACH ROW EXECUTE tg_alien_log();
>
> Easy, neh? Plus in the future it will become possible to write triggers in
> other langauges, such as TCL and Perl.
>
> BTW, the "BEGIN ATOMIC" is superfluous in PostgreSQL; triggers are atomic by
> definition.

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message M. Bastin 2003-06-12 11:43:33 Encoding names?
Previous Message Dani Oderbolz 2003-06-12 08:09:17 Re: PGSQL vs. SQL Server questions