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

MS SQL Server Discussion :

Retour de procédure stockée


Sujet :

MS SQL Server

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut Retour de procédure stockée
    Salut,

    Je travaille sous SQL Server 2000 et voudrais récupérer la valeur renvoyée par ma procédure stockée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CREATE PROCEDURE [dbo].[BL_CTRL]
    (@bl VARCHAR(25), @status INT OUTPUT)
    AS
     
    IF (LEN(@bl) <= 25)
    SET @status = 0
    ELSE SET @status = 1
    GO
    Lorsque j'appelle cette procédure via l'analyseur de requêtes "radio.dbo.BL_CTRL '000002',1", j'ai le message "La ou les commandes ont réussi."
    Mais je ne sais pas comment stocker la valeur de retour pour l'afficher, ici le deuxième paramètre de ma procédure.

    Merci d'avance.

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Dans votre appel il faut mettre le mot clef OUTPUT avec une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXECUTE radio.dbo.BL_CTRL '000002', @paramRetour OUTPUT
    Sinon utilisez l'instruction RETURN, sans parametre alors.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut
    Bonjour,

    Merci de la réponse, mais ça ne fonctionne pas, en fait je souhaite retourner deux arguments en sortie de la procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DECLARE @p1 INT
    DECLARE @p2 INT
    radio.dbo.CODEAR_CTRL '11111111111111111122',@p1 OUTPUT,@p2 OUTPUT
    J'ai le message suivant :
    "Serveur*: Msg 170, Niveau 15, État 1, Ligne 3
    Ligne 3 : syntaxe incorrecte vers 'radio'."

    Je ne peux donc pas utiliser une fonction avec RETURN...

    Merci pour toute info complémentaire.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    ben si ca doit marcher si ta procédure stockée est bien déclarée avec 2 paramètres à renvoyer.
    Tu nous donnes le corps de ta PS ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut
    Voilà le corps de la procédure stockée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    CREATE PROCEDURE [dbo].[CODEAR_CTRL] (@codear VARCHAR(56), @qte INT OUTPUT, @status INT OUTPUT)
    AS
    IF (LEN(@codear) = 20)
    	BEGIN
      		SET @status = 0
      		SET @qte = RIGHT(@codear, 2)
     	END
     ELSE
     	BEGIN
     		 SET @status = 1
    	END
    GO
    A+

  6. #6
    Membre averti
    Inscrit en
    Août 2002
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 354
    Points : 398
    Points
    398
    Par défaut
    Slt,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DECLARE @p1 INT 
    DECLARE @p2 INT 
    exec dbo.CODEAR_CTRL '11111111111111111122',@p1 OUTPUT,@p2 OUTPUT
    a+
    One ring to rule them all,
    One ring to find them,
    One ring to bring them all
    And in the darkness bind them.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut
    OK, c'est bon mais je suis obligé de passer le nom de la base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    exec radio.dbo....
    Merci.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/07/2013, 01h39
  2. [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
  3. Type de retour des procédure Stockée
    Par Solaren dans le forum Débuter
    Réponses: 1
    Dernier message: 27/01/2012, 11h09
  4. Procédure stockée avec retour de curseur
    Par Oufti dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 07/11/2005, 22h40
  5. Valeur de retour d'une procédure stockée
    Par Rudyweb dans le forum MFC
    Réponses: 4
    Dernier message: 25/02/2005, 17h52

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