Bonjour,

je suis à la recherche d'une optimisation de mon code (je n'arrive pas à savoir s'il boucle) !!!

1) j'ai du mettre un dump tran pour éviter d'avoir un message d'erreur (log plein)
2) dois je mettre une vérification d'erreur à chaque commande update ?


Merci d'avance pour votre aide très précieuse !!!


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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
create procedure DMD as
begin
 
 
DECLARE CURSEUR CURSOR FOR
 
SELECT ........................
 
 
OPEN CURSEUR 
FETCH CURSEUR INTO .................
WHILE (@@SQLSTATUS = 0) 
BEGIN
 
 
BEGIN TRANSACTION
 
-- PREMIERE MISE A JOUR
IF ......
UPDATE TABLE
SET ..... = 6
WHERE .......
ELSE
IF ........
UPDATE TABLE
SET ........ = 6
WHERE ......
ELSE
IF .........
UPDATE TABLE
SET ..... = 4
WHERE .....
    IF @@error <> 0 
    BEGIN
        ROLLBACK TRANSACTION
        RETURN
    END
 
 
-- SECONDE MISE A JOUR
UPDATE TABLE
SET ..... = 0
    IF @@error <> 0 
    BEGIN
        ROLLBACK TRANSACTION
        RETURN
    END
 
-- TROISIEME MISE A JOUR
UPDATE TABLE
SET ..... =getdate()
    IF @@error <> 0 
    BEGIN
        ROLLBACK TRANSACTION
        RETURN
    END
 
    COMMIT TRANSACTION
dump tran BASE with truncate_only
 
FETCH CURSEUR INTO .....
 
END
 
 
CLOSE CURSEUR 
 
 
DEALLOCATE CURSOR CURSEUR
 
END
 
GO