Bonjour,
je tente de faire un trigger qui va calculer la valeur d'une colonne d'une table :
MonthCode --> Saisie utilisateur 200710
MonthImport --> Trigger resultat 200711 (Annee, Mois)
Lorsque je lance le trigger (intégration dans la base) j'ai le message suivant :
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 CREATE TRIGGER E_EXR_IU ON tblExchangeRate_EXR FOR INSERT, UPDATE AS BEGIN UPDATE tblExchangeRate_EXR SET EXR.EXR_MonthImport = CASE -- Changement d'annee When CAST(RIGHT(EXR.EXR_MonthCode,2) as SMALLINT) = 12 Then CAST(CAST(LEFT(EXR.EXR_MonthCode,4) AS SMALLINT)+1 AS CHAR(4))+ '01' else CASE -- Mois longeur < 2 When CAST(RIGHT(EXR.EXR_MonthCode,2) AS SAMLLINT) < 9 then LEFT(EXR.EXR_MonthCode,4)+'0'+CAST(CAST(RIGHT(EXR.EXR_MonthCode,2) AS SMALLINT)+1 AS CHAR(1)) else LEFT(EXR.EXR_MonthCode,4)+CAST(CAST(RIGHT(EXR.EXR_MonthCode,2) AS SMALLINT)+1 AS CHAR(2)) END END from tblExchangeRate_EXR EXR INNER JOIN inserted i on EXR.EXR_MonthCode = i.EXR_MonthCode; END; GO
Serveur : Msg 1032, Niveau 15, État 1, Procédure E_EXR_IU, Ligne 7
Impossible d'utiliser le préfixe de colonne 'EXR'. Il doit correspondre à l'objet de la clause UPDATE 'tblExchangeRate_EXR'.
Un grand merci pour votre aide
Tornade
Partager