Bonjour,
le problème est le suivant:
Y a t-il moyen de savoir si le curseur a été alloué ou pas
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 BEGIN TRY BEGIN TRAN ... BEGIN TRY DEALLOCATE load_cursor END TRY BEGIN CATCH END CATCH DECLARE load_cursor CURSOR FOR SELECT ... OPEN load_cursor FETCH NEXT FROM load_cursor INTO @par_name WHILE @@FETCH_STATUS = 0 BEGIN ... FETCH NEXT FROM load_cursor INTO @par_name END CLOSE load_cursor DEALLOCATE load_cursor .... COMMIT TRAN ; END TRY BEGIN CATCH BEGIN TRY DEALLOCATE load_cursor END TRY BEGIN CATCH END CATCH ROLLBACK TRAN ..... END CATCH
pour éviter ça:Je trouve cette méthode trop bourrin, mias je n'arrive pas à trouver l'exemple ou on fait un DEALLOCATE conditionnel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 BEGIN TRY DEALLOCATE load_cursor END TRY BEGIN CATCH END CATCH
Je ne sais pas si j'étais assez clair.
Partager