[2005] RAISERROR : Incorrect syntax
Bonjour,
lors de la création d"un trigger je reçois un message d'erreur que j'ai du mal à comprendre.
Citation:
Msg 102, Level 15, State 1, Procedure vWORK_GenerateFederalNumber_IOINSERT, Line 47
Incorrect syntax near ')'.
J'ai essayé plusieurs variantes et je suis à cours d'idée...
Code:
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 |
Merci pour votre aide.