IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Procédure stockée avec @@rowcount et @@error


Sujet :

Développement SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Septembre 2008
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Procédure stockée avec @@rowcount et @@error
    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:
    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;
    mon code erreur me retourne toujours 0 et je voudrais être sure de sa valeur.
    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

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    Peut-être un problème de typage de la variable @errors

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Septembre 2008
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par rvaouate Voir le message
    Peut-être un problème de typage de la variable @errors
    non je ne pense pas je déclare bien ma variable @errors en int.
    j'ai sutout besoin en fait de savoir dans l'ordre ou j'ecrit mes actions, a quoi se reporte mon code erreur recupere dans @@error: cad si je recupere l'erreur d'affactation juste au dessus ou bel et bien l'erreur de l'execution de la requete.

    Merci encore

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 141
    Points : 176
    Points
    176
    Par défaut
    Et pourquoi ne pas sélectionner le @@rowcount et @@error en même temps dans le select ?

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Septembre 2008
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Fabrice Moll Voir le message
    Et pourquoi ne pas sélectionner le @@rowcount et @@error en même temps dans le select ?
    mais oui mais c'est bien sur!
    pourquoi n'y ai-je pas pensé plus tot? je suis vraiment nouille parfois.
    Merci beaucoup a toi!
    je ne sais aps pourquoi je m'obstine depuis le début a vouloir les recuperer l'un apres l'autre!
    merci encore ta solution est super.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ODBC] Procédure stockée avec des dates : Error 37000
    Par flacdo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/10/2012, 12h36
  2. Procédure stockée avec SELECT UNION
    Par maredami dans le forum Oracle
    Réponses: 4
    Dernier message: 07/11/2005, 11h05
  3. Procédure stockée avec serveur lié et paramètres
    Par AITOZ dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/10/2005, 17h51
  4. Procédure stockée avec param de sortie:marchepas av ADO
    Par Fabby69 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/10/2004, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo