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 :

Procédure stockée variable à plusieurs valeurs dans varchar


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 20
    Points : 16
    Points
    16
    Par défaut Procédure stockée variable à plusieurs valeurs dans varchar
    Bonjour
    En paramètre d'une procédure stockée je veux passer une liste de valeurs.
    Recherche sur un ou plusieurs départements.
    Ma clause WHERE doit se présenter tel que :
    WHERE (dept IN ('65', '67', '72'))
    si j'utilise une variable de type varchar tel que :
    @dept varchar(50)
    et WHERE dept IN (@dept)
    L'analyseur de requette m'indique
    @dept = '65'
    et trouve les bons resultat pour un département fournis
    Mais m'indique :
    @dept= '65,67,72'
    et ne trouve rien quand je donne 65,67,72 comme valeur pour le paramètre @dept.
    Comment saisir un paramètre pour une clause IN
    Par avance merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    Vous devez utiliser du SQL dynamique ou tabulariser vos données via : soit une table temporaire, soit un flux xml par exemple.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre du Club
    Homme Profil pro
    SQL Server
    Inscrit en
    Juin 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : SQL Server
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 43
    Points : 63
    Points
    63
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    declare @ClauseWhere Varchar(30)
    SET @ClauseWhere = '(65, 67, 72)'
     
    EXEC('
    SELECT *
    FROM MaTable
    WHERE (dept IN ' + ClauseWhere  + ')
    )

Discussions similaires

  1. procédure stockée avec plusieurs valeurs
    Par djowen dans le forum Développement
    Réponses: 4
    Dernier message: 23/09/2011, 11h02
  2. Réponses: 2
    Dernier message: 23/02/2010, 12h38
  3. Stocker plusieurs valeurs dans une variable Session
    Par PrinceMaster77 dans le forum Langage
    Réponses: 3
    Dernier message: 05/01/2010, 11h04
  4. variable à plusieurs valeurs dans une bcle If then ?
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 31/07/2009, 13h43
  5. [Procédure stocké] - Liste de valeurs dans un seul paramètre
    Par baboon dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 19/05/2009, 15h26

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