Bonjour,
lors de la création d"un trigger je reçois un message d'erreur que j'ai du mal à comprendre.
J'ai essayé plusieurs variantes et je suis à cours d'idée...Msg 102, Level 15, State 1, Procedure vWORK_GenerateFederalNumber_IOINSERT, Line 47
Incorrect syntax near ')'.
Merci pour votre aide.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 CREATE TRIGGER vWORK_GenerateFederalNumber_IOINSERT ON vWORK_GenerateFederalNumber INSTEAD OF INSERT AS BEGIN SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL SERIALIZABLE SET XACT_ABORT ON BEGIN TRANSACTION DECLARE @FederalNumber AS INT SELECT @FederalNumber = MAX(CAST(FederalNumber AS INT)) FROM tMembers WHERE FederalNumber LIKE '7%'; WITH Assignment ( IdMember , Row ) AS ( SELECT I.IdMember , ROW_NUMBER() OVER(ORDER BY IdMember ASC) FROM inserted AS I INNER JOIN tMembers AS M ON ( M.Id = I.IdMember ) WHERE M.FederalNumber = '' ) UPDATE tMembers SET FederalNumber = CAST((@FederalNumber + A.Row) AS VARCHAR(50)) FROM Assignment AS A WHERE tMembers.Id = A.IdMember COMMIT TRANSACTION IF @@ERROR <> 0 BEGIN DECLARE @ErrorMsg NVARCHAR(255) SET @ErrorMsg = N'vWORK_GenerateFederalNumber FAILURE'; RAISERROR (@ErrorMsg, 17); END END
Partager