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 :

[TSQL]retour de valeur avec execute


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 291
    Par défaut [TSQL]retour de valeur avec execute
    Bonjour,
    J’ai un soucis avec une requête une peu compliqué. Mais que j’ai
    simplifié pour faire comprendre mon problème. J’ai une requête dynamique
    dans lequel la table peut changer et il y’a 1 seul valeur de retour

    Declare @table as varchar(100)
    Declare @val as varchar(100)
    Select @val = field from @table

    J’aimerais l’exécuter par une commande execute. Mais je n’arrive pas a
    récupérer la valeur de @val dans la méthode dans la procédure.


    Declare @table as varchar(100)
    Declare @val as varchar(100)
    Execute ( ‘Select @val = field from ‘+@table)
    Print @val

    Mais ca ne marche pas.

    Merci de votre aide

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

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    Voilà. Fait gaffe quand même ca suppose que ton select ne renvoie qu'une valeur ;-) Sinon tu auras la dernière valeur dans ta variable
    Dans mon code tu l'auras compris, c'est @pRESU qui contient le resultat du slecet que tu peux après utilisé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    declare @SQL nvarchar(4000)
    declare @presu nvarchar(30)
    declare @tableName nvarchar(4000)
    DECLARE @Para NVARCHAR(500)
     
    set @TableName = 'test'
     
    SET @Para = N'@RESU nvarchar(4000) OUTPUT'
     
     
    set @SQL = 'select @RESU = testVal from ' + @TableName + '  where testID = 1010'
     
     
    exec sp_executesql @SQL, @PARA, @RESU = @pRESU OUTPUT
     
    select @presu

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

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    grosse erreur

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

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    grosse erreur bis

Discussions similaires

  1. [MySQL] boucle en php avec retour des valeur sur smarty
    Par le nOoB dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 24/09/2011, 17h05
  2. Fonction avec paramètre OUT et retour de valeur
    Par mortimer.pw dans le forum Débuter
    Réponses: 0
    Dernier message: 09/07/2010, 09h38
  3. Pop up avec retour de valeur
    Par crackers-belin dans le forum ASP.NET
    Réponses: 3
    Dernier message: 27/05/2009, 11h03
  4. thread et retour d'une valeur après execution du thread
    Par lufermapar dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 09/12/2008, 21h01
  5. Formulaire avec retour de valeur
    Par Pirloui dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/11/2006, 22h46

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