Bonjour,

j'aimerai savoir si il est possible d'acceder dans un trigger à une valeur de champs OLD et NEW mais sur un champs variable du genre OLD.:FieldName pour pouvoir tester les modifications d'un record seulement sur une liste de champs (dynamique : pas fixe dans le trigger).

exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
SET TERM !! ;
CREATE OR ALTER TRIGGER T1_CHANGE FOR T1 BEFORE UPDATE POSITION 0 AS
DECLARE VARIABLE FieldName VARCHAR(50);
DECLARE VARIABLE Change CHAR(1);
BEGIN
 
  Change='F';
 
  FOR
   SELECT FIELD_NAME
   FROM T1
   INTO :FieldName
  DO BEGIN
 
      IF (NEW.:FieldName<>OLD.:FieldName)
      THEN BEGIN
 
            Change='T';
            BREAK;
 
           END
 
     END
 
END!!
SET TERM ; !!
Merci d'avance.