Bonjour à tous,
J'ai la pocédure stockée suivante qui me génère une erreur de syntaxe que je n'arrive pas à corriger.
L'erreur est la suivante:
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
50
51
52
53
54 IF EXISTS(SELECT name FROM sysobjects WHERE name='RA_deleteSignatory') DROP PROCEDURE RA_deleteSignatory GO CREATE PROCEDURE RA_deleteSignatory @id_signatory numeric(4), @id_service numeric(5), @id_slice_price numeric(1), @id_is_deleted binary(1) output, @message varchar(100) output AS DECLARE @weight numeric(5) --poids du signataire à supprimer DECLARE @weight_signatory_other numeric(5) -- poids des signataires à remplacer DECLARE @id_signatory_other numeric(4) -- id des autres signataires SELECT @weight=S.WEIGHTING_SIGNATORY FROM [N4939037].[N4939037] WHERE S.ID_SIGNATORY=@id_signatory BEGIN DELETE FROM [N4939037].[TO_COUNT] WHERE ID_SERVICE=@id_service AND ID_SIGNATORY=@id_signatory DELETE FROM [N4939037].[TO_DETERMINE] WHERE ID_SLICEPRICE=@id_slice_price AND ID_SIGNATORY=@id_signatory DELETE FROM [N4939037].[SIGNATORY] WHERE ID_SIGNATORY = @id_signatory WHILE ( SELECT @weight_signatory_other = S.WEIGHTING_SIGNATORY, @id_signatory_other = S.ID_SIGNATORY FROM [N4939037].[SIGNATORY] S INNER JOIN [N4939037].[TO_COUNT] TC on S.ID_SIGNATORY=TC.ID_SIGNATORY INNER JOIN [N4939037].[TO_DETERMINE] TD on S.ID_SIGNATORY=TD.ID_SIGNATORY WHERE TC.ID_SERVICE=@id_service AND TD.ID_SLICEPRICE = @id_slice_price ) > @weight BEGIN UPDATE [N4939037].[SIGNATORY] SET WEIGHTING_SIGNATORY = (@weight_signatory_other-1) WHERE ID_SIGNATORY=@id_signatory_other END END
pouvez vous m'aider sur ce problème ?
Error 170: Line 33 : Incorrect syntax near '='
Merci pour votre aide !
Partager