Bonjour j'ai deux soucis avec une procédure stockée dont j'ai hérité
Je me permet de prévenir que je ne suis pas dev donc les questions que je vais poser ont peut-être des réponses évidentes
La procédure stockée ressemble à ceci :
Mon premier pb : lors de la phase de tests nous avons simulé différentes erreurs et avons ajouté un insert sur une table inexistante : si la table n'existe pas la procédure se stop immédiatement, j'aimerais donc trouver un moyen de finir la procédure stockée quoiqu'il arrive et de voir ensuite la ou les erreurs
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 begin procedure XXX @id varchar(50) as begin insert into table_de_log (datemaj) values (@id) begin try begin tran truncate T1 truncate T2 truncate ... ... T20 insert into T1 select * from TT1 insert into T2 select * from TT2 insert into ... ... from TT20 commit tran update table_de_log set isactive=0,Status=0 where datemaj=@id end try begin catch update table_de_log set isactive=0,errmsg=convert(vachar(50),error_number())+'-'+convert(varchar(5),error_line())+'-'+error_message() where datemaj=@id end catch; end;
Second problème : par moment la procédure plante l'instance de BDD pourant le nombre de lignes traitées au total est des plus raisonnable, est-il possible et intelligent (si c'est possible) d'ajouter des commit après chaque insert ?
Partager