Bonjour,
Lors de l'insertion d'une ligne dans une table, j'aimerai en quelque sorte dupliquer cette ligne dans cette même table, je m'explique:
Si la ligne insérée à une certaine valeur dans une colonne, je dois dupliquer cette ligne en indiquant une autre valeur dans cette colonne de la ligne dupliquée.
J'ai entamé un petit bout de code d'essai mais je bute sur qq problèmes:
Je constate que dans mon test ci-dessus je ne peux pas utiliser inserted.nomdemacolonne (The name "inserted.CLEUNICCH" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted.)
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 CREATE TRIGGER [dbo].[AFTER_INSERT_DUPLICATE_CCH] ON [dbo].[COMCLIHEACCH] AFTER INSERT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for trigger here if (select refsocch from inserted) in ('AG','CH') begin insert into [dbo].[COMCLIHEACCH] (CLEUNICCH,CREUTICCH,CREDATCCH,CREHEUCCH,MAJUTICCH,MAJDATCCH,MAJHEUCCH,REFSOCCCH,NUMCMDCCH,NUMCLICCH,CODCOMCCH,CODPAYCCH) values (inserted.CLEUNICCH,inserted.CREUTICCH,inserted.CREDATCCH,inserted.CREHEUCCH,inserted.MAJUTICCH,inserted.MAJDATCCH, inserted.MAJHEUCCH,'CA',inserted.NUMCMDCCH,inserted.NUMCLICCH,inserted.CODCOMCCH,inserted.CODPAYCCH) end END GO
Vu que la ligne compte une grande quantité de colonnes (il n'y en a qu'une partie ci-dessus), j'aimerai une solution simple pour récupérer (avant insertion) toutes les valeurs de la ligne inserted et ne modifier que les 2 ou 3 colonnes nécessaires, ce n'est pas ce que j'ai tenté dans mon exemple car je ne sais pas comment m'y prendre.
Merci d'avance si vous avez une piste ou un post qui traite déjà de ce sujet...
Partager