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 :

Récupérer valeur dans procédure stockée


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Par défaut Récupérer valeur dans procédure stockée
    Bonjour à tous,
    Est-il possible de récupérer le résultat d'un procédure stockée dans une autre procédure stockée ?
    Si oui, quelle est la syntaxe à utiliser ?
    Merci d'avance pour vos réponses.

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mars 2007
    Messages : 616
    Par défaut
    Citation Envoyé par Mygush Voir le message
    Bonjour à tous,
    Est-il possible de récupérer le résultat d'un procédure stockée dans une autre procédure stockée ?
    Si oui, quelle est la syntaxe à utiliser ?
    Merci d'avance pour vos réponses.
    Qu'est ce que tu veut dire par résultats?
    C'est une valeur ou est-ce un/des ResultSet?

    Si c'est une valeur c'est simple il suffit de créer un paramètre de ta procédure en OUTPUT. Si le résultat est une table tu peux soit créer une variable de type TABLE et OUTPUT. Sinon, tu peux récupérer le résultat de ta requête dans une table temporaire, ou variable de type TABLE.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Create Procedure Maprocedure @param OUTPUT VARCHAR(200) AS ...
     
    -- sinon
    Exec Maprocedure2
    INTO #tmp

  3. #3
    Membre confirmé Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Par défaut
    Effectivement je n'ai pas précisé, c'est une valeur que je souhaite récupérer.
    En fait j'ai une procédure qui me retourne une valeur, et je souhaite récupérer cette valeur dans une variable d'une autre procédure.
    Voici ce que le genre de code que je souhaiterai avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    /*Sachant que maProcedure 1 retourne un entier*/
    CREATE Procedure maProcedure2 @param as integer
    DECLARE maVariable as integer
    ....
    IF @param > 1
    	BEGIN
    		@maVariable = EXECUTE maProcedure1 @Param
    	END
    Est-il possible de faire un INTO dans une variable ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mars 2007
    Messages : 616
    Par défaut
    Citation Envoyé par Mygush Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    /*Sachant que maProcedure 1 retourne un entier*/
    CREATE Procedure maProcedure2 @param as integer
    DECLARE maVariable as integer
    ....
    IF @param > 1
    	BEGIN
    		@maVariable = EXECUTE maProcedure1 @Param
    	END
    Est-il possible de faire un INTO dans une variable ?
    Ce code est correct.
    La seule chose c'est que en principe la procédure stockée doit retourner ce qu'on appelle un Return Code, qui est sensé renseigner la procédure appelante sur le bon déroulement de celle-ci.
    Cette valeur est généralement :
    0- success
    1- info
    2- warning
    3- error
    4- fail

    Dans dans ton cas, j'utiliserais plustot un paramètre OUTPUT ou une fonction.


    INTO fonctionne uniquement avec les résultats de type table.
    Si ta variable est de type table, alors c'est bon

  5. #5
    Membre confirmé Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Par défaut
    Merci pour toutes ces informations, la solution du paramètre OUTPUT me convient très bien.

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

Discussions similaires

  1. [WD15] Récupérer valeur de retour dans procédure stockée
    Par deepshark dans le forum WinDev
    Réponses: 1
    Dernier message: 15/02/2012, 11h23
  2. Réponses: 0
    Dernier message: 23/12/2008, 12h07
  3. Réponses: 4
    Dernier message: 15/07/2008, 13h05
  4. Récupérer une valeur de procédure stockée en C#
    Par rudylar dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 15/07/2008, 11h50
  5. SQL dans Procédure stockée
    Par julure dans le forum Oracle
    Réponses: 13
    Dernier message: 02/11/2004, 16h57

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