Bonjour,
Je travaille avec SQL SERVER ET Visual Studio .NET.
J'ai deux procédures stockées utilisant un curseur : la première pour l'ajout d'un enregistrement, la deuxième pour la modification. Dans chacune de ces deux requêtes, les curseurs sont utilisés de la même manière quasiment un copier coller.
Mon problème est que lorsque le programme appelle deux fois la procédure stockée d'ajout .... pas de problème, mais lorsque je veux faire :
modification ..... modification
ou
modification ..... ajout
j'ai l'erreur suivante :
je vous donne l'utilisation du curseur dans la procédure de modification :
Code : Sélectionner tout - Visualiser dans une fenêtre à part le curseur ... existe déjà
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 CREATE PROCEDURE TOTO ( @x VARCHAR(2), @y VARCHAR(2), ) AS DECLARE VerifXY CURSOR FOR SELECT x_toto, y_toto FROM T_TOTO WHERE id_toto = @idTOTO DECLARE @verifX VARCHAR(2) DECLARE @verifY VARCHAR(2) BEGIN SET @verifX = (SELECT x_toto FROM T_TOTO WHERE id_toto = @idTOTO) SET @verifY = (SELECT y_toto FROM T_TOTO WHERE id_toto = @idTOTO) IF @verifX <> @x OR @verifY <> @y BEGIN OPEN VerifXY FETCH NEXT FROM VerifXY INTO @verifX, @verifY WHILE @@FETCH_STATUS = 0 BEGIN IF @x = @verifX AND @y = @verifY BEGIN SET @verif = 0 END FETCH NEXT FROM VerifXY INTO @verifX, @verifY END CLOSE VerifXY DEALLOCATE VerifXY END ..... END GO
donc comme e vous le disais, dans la procédure d'ajout c'est la même chose et avec elle je n'ai pas de problème, si quelqu'un a une idée
Partager