Bonjour,
J'effectue un trigger sur une table pour qu'il me remplisse une autre table mais, j'ai des souci pour récupérer les valeurs de l'insertion :

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
 
 
REATE TRIGGER INS_SIA_ENTE ON dbo.TCOM_CDEE 
FOR INSERT
AS
   DECLARE @NomEchange nvarchar(25)
   DECLARE @TypeEchange char(1)
   DECLARE @test nvarchar(12)
 
   -- On regarde si la données est à destination de la base SAGE
   SELECT @NomEchange = T_ECHANGES.DESTINATION FROM T_ECHANGES WHERE T_ECHANGES.ID_E = (SELECT ID_E FROM INSERTED)
   IF (@NomEchange = 'SAGE' )
   BEGIN
   SELECT @TypeEchange=ACTION_E FROM INSERTED
   IF (@TypeEchange = 'A') 
   BEGIN
      -- Ajout d'une valeur
      SELECT @test= NO_COMMANDE FROM INSERTED
      INSERT INTO [F_DOCENTETE] (DO_Domaine, DO_Type, DO_Piece, DO_Date, DO_Tiers, RE_No, CA_Num)  VALUES ( 0, 1, @test, '26/03/2007', INSERTED.NO_COMMANDE, 42, '7010232')
   END
END
La méthode avec @test fonctionne mais pas utilisable etant donnée que j'ai plein de champs a recopier.
Par contre ma 2e méthode INSERTED.NO_COMMANDE ne fonctionne pas... et ce serais plus facile a mettre ne place...

Merci de votre aide pour me dire pourquoi cela ne fonctionne pas... Mauvaise syntaxe ???