une autre histoire de triggers....

From: Pierre BOIZOT <pierre(dot)boizot(at)gmail(dot)com>
To: PG-Mail-liste <pgsql-fr-generale(at)postgresql(dot)org>
Subject: une autre histoire de triggers....
Date: 2013-08-28 08:41:39
Message-ID: CANxSh5zh8rMgvm6NUYJSjPaZ2aMJ4d4km7eV4kQZrnr99rA2aw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonjour,

Dans une phase exploratoire de migration d'oracle vers postgresql , je me
heurte à un problème de migration de certain trigger.

Le code du trigger oracle :

create or replace
trigger "SIBMIG"."VAL_PRO_DELETE" BEFORE
DELETE ON "VALIDATEUR_PROJET"

BEGIN
declare
v_tem_sel_ok number(1) := 0;
begin
-- code ....
end;
END;

a
​ été traduit ​par


CREATE OR REPLACE FUNCTION trigger_fct_val_pro_delete () RETURNS trigger AS
$BODY$
BEGIN

declare
v_tem_sel_ok numeric(1) := 0;
begin
​--- code
end;
RETURN NEW;
END
$BODY$
LANGUAGE 'plpgsql';

​​
CREATE TRIGGER val_pro_delete
BEFORE STATEMENT DELETE ON validateur_projet FOR EACH STATEMENT
EXECUTE PROCEDURE trigger_fct_val_pro_delete();

​cette syntaxe n'est pas acceptée, je ne vois pas de référence a BEFORE
STATEMENT dans la documentation
postgresql<http://docs.postgresqlfr.org/9.3/sql-createtrigger.html>sur
la syntaxe du create trigger.

Pourriez vous me confirmer que la bonne syntaxe est :


CREATE TRIGGER val_pro_delete
BEFORE DELETE ON validateur_projet FOR EACH STATEMENT
EXECUTE PROCEDURE trigger_fct_val_pro_delete();

​je déclarerai alors une issue sur ora2pg.

A+
Pierre​

Pierre.

G+ <https://plus.google.com/u/0/107377830070954284209/about>

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Guillaume Lelarge 2013-08-28 09:21:41 Re: une autre histoire de triggers....
Previous Message Dimitri Fontaine 2013-08-27 19:59:02 Re: PostgreSQL9.1 trigger avec arguments