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 :

Charger une variable avec une Proc Stock


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Charger une variable avec une Proc Stock
    Bonjour

    je suis sûr que je suis en train de faire une connerie, mais j'aimerais bien avoir confirmation et peut être une solution alternative.

    Voilà, je voudrais récupérer le résultat d'une Proc Stock dans une variable.

    Un peu de code et j'explique aprés.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DECLARE @Id_News INT
    SET @Id_News = EXEC dbo.GOD_IdNews @ApplicationId
    Ma Proc Stock retourne un entier et rien d'autre. Même si'l y a un soucis, elle retoune au moins 0 et pas Null.
    Mais ça marche pas. il me dit que : Syntaxe incorrecte vers le mot clé 'EXEC'.

    Et avec des parenthéses, pas mieux.
    Ce qui m'ennuierais c'est d'être obligé de passer par une fonction. Mais si vous me dites que j'ai pas le choix, sinon ça marche pas, ben je le ferais, j'espère jsute que les autres cas d'application continurons à finctionner.

    Merci

  2. #2
    Membre Expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Par défaut
    Essaye ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DECLARE @Id_News INT
    EXEC @Id_News = dbo.GOD_IdNews @ApplicationId
    Sinon tu peux penser à passer à ta procedure un parametre en output :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    create procedure .... @param1, @param2 output
    Et le récupérer par après.

    Dje

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Oui, merci beaucoup, j'avasi complètement oublié les fameux parametres OutPut.
    Faut dire aussi que j'ai découvret ça trés récement.

    Par contre, négligeance de ma part, ou bug du liquide de refroidissement, je en retrouve pas le topic où j'ai vu que ça en parlait bien.

    Aurais tu l'amabilité de me filer un morceau de code complet pour mettre en place le paramettre dans la Proc, mais surtout la récupération.

    Merci

  4. #4
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Bon, j'ai retrouver le topic que je cherchais avec le line vers un truc bien sur les paramettres OUTPUT.

    Toutefois, j'ai du loupé un truc car j'ai un message d'erreur.

    J'ai fait une Proc Stock comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ALTER PROCEDURE [dbo].[GOD_IdNews] (@ApplicationId UNIQUEIDENTIFIER, @IdNews INT OUTPUT) AS 
     
    DECLARE @Id_News INT
    SET @Id_News = (
    SELECT Option_Valeur FROM GLOBAL_Composant C 
    INNER JOIN GLOBAL_Pages P ON P.Id_Pages = C.Id_Page 
    INNER JOIN GLOBAL_Option_Composant OC ON OC.Id_Composant = C.Id_Composant 
    WHERE Compo_Nom = 'News' 
    AND ApplicationId = @ApplicationId
    AND OC.Option_Nom = 'Id_Paragraphe')
     
    SET @IdNews = ISNULL(@Id_News,0)
    Puis, dans une autre Proc Stock je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DECLARE @IdNewsRetour INT
    EXEC(GOD_IdNews @ApplicationId, @IdNewsRetour OUTPUT)
    SELECT @IdNewsRetour
    Et là il me dit :
    Syntaxe incorrecte vers 'GOD_IdNews'.
    J'ai suivi le tuto qui est là : http://sqlpro.developpez.com/cours/s...nsactsql/#L4.2

    Mais j'ai peur d'avoir loupé un détail, l'ennui c'est que je ne vois pas lequel.

  5. #5
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Bon, bne j'ai fini par trouver.
    Dans le tuto il est dit qu'il faut mettre des parenthèses sur le EXEC et quand on en mets pas, ben ça marche mieux.

    Peut être une petite correction dans le tuto serait à faire.

    @ la prochaine.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. Réponses: 9
    Dernier message: 08/07/2009, 17h10
  5. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21

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