Bonjour à tous,

J'ai un souci sur un trigger qui marche en partie.

Celui-ci se déclenche lorsque je crée une pièce commerciale dans mon logiciel.
J'ai une partie de contrôle d'existence d'un élément, qui, s'il y a manquement, crée une nouvelle entrée dans une autre table.

Ce qui pose souci dans ce trigger c'est justement la partie "insert into" ... ça me renvoie un message d'erreur dans mon appli.

si jamais quelqu'un a une idée, je suis preneur.

Merci d'avance.

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
27
28
29
30
31
 
GO
/****** Object:  Trigger [dbo].[ALIM_INFO_PIECE]    Script Date: 28/02/2019 18:14:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
ALTER TRIGGER [dbo].[ALIM_INFO_PIECE] ON [dbo].[PIECE] 
  FOR  insert , update
 
  AS
  DECLARE @PIECE AS VARCHAR(10), @nature as varchar(3), @souche as varchar(3), @Affaire as varchar(6), @Libelle as varchar(35), @Code as varchar(17)
 
  Begin	         
  SELECT @PIECE=GP_NUMERO , @nature = GP_NATUREPIECEG, @souche = GP_SOUCHE, @Affaire = GP_TIERS FROM INSERTED
 
  select @Libelle = T_LIBELLE from TIERS where T_TIERS = @Affaire
  Select @Code = count(*) from CHOIXEXT where  YX_TYPE = 'LP1' and YX_CODE = @Affaire
 
		If @Code  = 0
 
            Begin
 
			insert into CHOIXEXT values ('LP1',@Affaire,@Libelle,@Libelle,NULL)
 
			end 
 
       update PIECE set GP_LIBREPIECE1 = @Affaire where GP_NUMERO = @PIECE and GP_NATUREPIECEG = @nature and GP_SOUCHE = @souche
 
  End