Bonjour à tous,
je suis sous SQL Server 2005.
je suis en train d'écrire une procédure stockée qui me permet d'archiver des données d'une table à une autre avec certaines conditions.
je procède à plusieurs requêtes.
après chacune des requêtes, je souhaite sauvegarder dans une variable le nombre d'enregistrement selectés ou updatés ou insertés ou deletés. j'utilise donc la variable globale @@rowcount.
je souhaite également récupérer le code d'erreur si il y en a un. pour cela j'utilise la variable globale @@error.
voici un bout de mon code:
mon code erreur me retourne toujours 0 et je voudrais être sure de sa valeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 INSERT toto_ar SELECT * FROM #toto; /* Sauvegarde du nombre d'enregistrements inserés */ SELECT @cnt_toto_ar = @@rowcount; SET @errors = @errors + @@error;
en fait je voudrais être sure que lorsque je récupere ma variable @@error, elle comporte bien le resultat de ma requete insert et non pas un resultat de l'affectation de mon rowcount qui est juste avant.
vous allez me dire d'inverser mes deux actions mais je ne peux pas car le set modifie la variable @@rowcount.
j'espere que je me suis exprimée clairement sur ma problématique et je vous remercie d'avance de votre aide.
Merci à tous.
Nini
Partager