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 :

Passer une valeur en paramètre


Sujet :

MS SQL Server

  1. #1
    Membre éclairé Avatar de Daniel MOREAU
    Inscrit en
    Décembre 2004
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 372
    Par défaut Passer une valeur en paramètre
    Bonjour,

    J'utilise SQL Server management studio express et je bloque sur le passage d'une valeur en paramètre.

    J'ai le message d'erreur suivant :

    Msg*1087, Niveau*15, État*2, Procédure*Buro_EtiquetageMag, Ligne*16
    La variable de table "@Vue" doit être déclarée.
    Voici la procédure (toute simple)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ALTER PROCEDURE [dbo].[Buro_EtiquetageMag] 
    @Vue varchar(40)
    AS
     
    select * into BS_ETIQUETAGE_tmp
    from  @Vue
     
    SET NOCOUNT ON;
    et voici comment je lance la procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXEC [dbo].[Buro_EtiquetageMag] @Vue = 'VUE_EX_CHANGEMENTPRIX'
    Qu'est-ce qui ne va pas ?

    Merci pour votre aide.

    Daniel

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Hello,

    Il faut passer par du SQL dynamique dans ton cas. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ALTER PROCEDURE [dbo].[Buro_EtiquetageMag] 
    @Vue varchar(40)
    AS
     
    SET NOCOUNT ON;
    DECLARE @sql NVARCHAR(MAX);
     
    SET @sql = N'SELECT * INTO BS_ETIQUETAGE_tmp FROM ' + @Vue;
     
    EXEC sp_executesql @sql;
    ++

  3. #3
    Membre éclairé Avatar de Daniel MOREAU
    Inscrit en
    Décembre 2004
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 372
    Par défaut
    Merci beaucoup

    SUPER.

    Daniel

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/11/2012, 23h58
  2. Réponses: 2
    Dernier message: 11/08/2011, 13h46
  3. Réponses: 1
    Dernier message: 30/01/2008, 19h41
  4. [PHP-JS] Javascript et PHP: passer une valeur en paramètres
    Par anutka dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/10/2005, 12h05
  5. Passer une procédure en paramètre ?
    Par Cornell dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2003, 12h21

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