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 :

[SQL2005]Recup donnees de Fonction-Table


Sujet :

MS SQL Server

  1. #1
    Membre habitué
    Avatar de Oncle_Pete
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Points : 175
    Points
    175
    Par défaut [SQL2005]Recup donnees de Fonction-Table
    Bonjour


    j'ai une procedure stockee qui appelle la fonction ci-dessous laquelle me retourne 1 ligne de donnees

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE FUNCTION [dbo].[Q_GETMRVALUES]  (@NUmOF VARCHAR (20),
                                 		@NumArticle VARCHAR(20))
    RETURNS TABLE AS 
    RETURN 
    	(SELECT opnr, aopos, aonr, LagStalle, dummyuniqueid, VaruGruppKod, ArtProdKonto    
         FROM   mr 
         WHERE  aonr    = @NumOF
         AND    mrartnr = @NumArticle)
    GO
    Je cherche sans succes quelle est la syntaxe qui me permette de recuperer dans des variables de ma PS les differentes valeurs retournees par ma fonction ?

    Je pensais a quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select @var1, @var2, @var3, @var4, @var5, @var6, @var7 from dbo.Q_GETMRVALUES('17','PETG')
    mais cela ne fonctionne pas

    Quelqu'un aurait-il une idee ?
    Merci a vous

  2. #2
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Une petite chose comme cela devrait fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT @var1=opnr, @var2=aopos... FROM dbo.Q_GETMRVALUES('17','PETG')
    Tout en ayant pris garde de bien déclarer les variables avant.

  3. #3
    Membre habitué
    Avatar de Oncle_Pete
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Points : 175
    Points
    175
    Par défaut
    Merci Jinroh77

    Oncle Pete

  4. #4
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    De rien
    Bonne utilisation.

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonsoir,

    Je ne suis pas sûr que cela fonctionne correctement dans tous les cas : si votre fonction renvoie par hasard plusieurs lignes, vos variables seront probablement affectées des valeurs de la dernière ligne ... ou ça ne fonctionnera tout simplement pas

  6. #6
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    En effet, quelque chose comme cela fonctionnera mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE #tmp (
    	var1	...
    	,var2	...
    	,var3	...
    	...)
     
    INSERT INTO #tmp (var1, var2, var3, ...)
    SELECT var1, var2, var3, ... FROM dbo.Q_GETMRVALUES('17','PETG')
    Après il faut savoir quelles sont les valeurs que l'on souhaite récupérer parmi toutes les lignes de retour.

  7. #7
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonsoir,

    Dans ce cas utilisez une expression de table commune (CTE), c'est bien plus pratique et puissant

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

Discussions similaires

  1. Modification de Donnees dans une table
    Par captainamerica75 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/02/2006, 09h19
  2. enregistrement de donnees d'une table a une autre
    Par tibiurs dans le forum Access
    Réponses: 6
    Dernier message: 20/12/2005, 17h21
  3. Réponses: 6
    Dernier message: 18/08/2005, 16h26
  4. [JSP][SERVLET] recup donnees form
    Par 74greg dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 04/09/2003, 10h22
  5. Recherche de donnee dans une table associée
    Par josoft dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/07/2003, 15h22

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