Bonjour,
Voici la procédure actuelle que j'utilise pour créer un trigger :
Or je voudrai changer le type de ce trigger en "After" et non plus en "before"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE OR REPLACE TRIGGER Schema.Table_PERIM_TG BEFORE INSERT OR UPDATE ON Schema.table REFERENCING NEW AS New OLD AS Old FOR EACH ROW DECLARE dim_info mdsys.sdo_dim_array; requete varchar2(200); BEGIN requete := 'select m.diminfo FROM mdsys.user_sdo_geom_metadata m WHERE m.TABLE_NAME=''Table'' AND m.COLUMN_NAME=''SHAPE'''; execute immediate requete into dim_info; :NEW.FLT_PERIMETRE := SDO_GEOM.SDO_LENGTH(:NEW.SHAPE,dim_info); END; /
J'utilise l'assistant de Toad pour créer le nouveau trigger mais j'obtiens le message d'erreur suivant :
La documentation Oracle me retourne ceci comme informations concernant cette erreur :ORA-04084:
cannot change NEW values for this trigger type
Or je veux rester en "After" mais j'ai besoin de mettre a jour le champ FLT_PERIMETRE de ma table. Mais je ne sais pas comment corriger cela.Cause: New trigger variables can only be changed in before row insert or update triggers.
Action: Change the trigger type or remove the variable reference.
Quelqu'un pourrait-il m'aider?
Merci beaucoup d'avance
Partager