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

Langage SQL Discussion :

[SQL SERVER 2005] Renvoyer une valeur


Sujet :

Langage SQL

  1. #1
    Membre actif Avatar de diaboloche
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    592
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 592
    Points : 274
    Points
    274
    Par défaut [SQL SERVER 2005] Renvoyer une valeur
    Salut,

    Je veux renvoyer un string à partir d'une procédure stockée. Je fais ceci :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    GO
    ALTER PROCEDURE [dbo].[CONVERT_ID]  (@ID int, @Choix int, @Valeur  varchar(50) OUTPUT)
     
    AS 
    -------------------------------
    -- Convertir un ID en string --
    -------------------------------
     
    -- Pays --
    If @Choix=1 
    Begin
     Set @Valeur=(Select Nom From tbPays Where IDPays=@ID)
    End
     
    -- TVA --
    If @Choix=2 
    Begin
     Set @Valeur=(Select Nom From tbTVA Where IDTVA=@ID)
    End
     
    -- Langue --
    If @Choix=3 
    Begin
     Set @Valeur=(Select Nom From tbLangues Where IDLangue=@ID)
    End
     
    -- Devise --
    If @Choix=4
    Begin
     Set @Valeur=(Select Nom From tbDevises Where IDDevise=@ID)
    End
     
    Return @Valeur
    Mais voici l'erreur renvoyée :
    Msg 245, Niveau 16, État 1, Procédure CONVERT_ID, Ligne 32
    Échec de la conversion de la valeur varchar « - Inconnu - » en type de données int.

    Donc il cherche à convertir @Valeur en int... Pourquoi ?
    while(1)printf("BUG");

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour
    En Sql serveur une Ps ne peut retourner par l'instruction Return qu'un entier.
    Voilà pourquoi il essaie de convertir en entier.
    Vu que valeur est un paramètre output de ta procédure, il doit te suffire de supprimer l'instruction return pour que ça marche.
    Tu récupèreras la valeur de @Valeur dans ton paramètre.

    A+
    Soazig

  3. #3
    Membre actif Avatar de diaboloche
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    592
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 592
    Points : 274
    Points
    274
    Par défaut
    Ok merci pour ton coup de main :-)
    while(1)printf("BUG");

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

Discussions similaires

  1. [SQL Server 2005]Masquer les valeurs d'une table
    Par ravaid dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 22/08/2009, 14h29
  2. Réponses: 3
    Dernier message: 16/05/2007, 13h48
  3. Réponses: 2
    Dernier message: 10/05/2007, 10h16
  4. [SQL SERVER 2005] Exporter une table en Access
    Par Golzinne dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/03/2007, 17h08
  5. [SQL SERVER 2005] Ouvrir une table en exclusif
    Par olbi dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 02/03/2007, 18h58

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