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 :

"where @text" ou @text='nom='julien'' fonctionne p


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 57
    Points : 46
    Points
    46
    Par défaut "where @text" ou @text='nom='julien'' fonctionne p
    bj
    je n'arrive pas a trouver comment rendre ma variable compréhensible après le mot Where ds mes requêtes au sein de mes SP.

    ma SP fait une sélection comportant les mm chps mais avec 6 lots de critères différents
    d'ou mon idée de déclarer @text qui prend pr valeur la chaine de critètes en fction d'un choix(@choix est le paramètre d'entrée de ma SP)

    comment puis je faire ???

    Thx

  2. #2
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 116
    Points : 126
    Points
    126
    Par défaut
    Salut,
    Fais voir ta procédure stockée avec ce que tu as écris exactement dedans

  3. #3
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 57
    Points : 46
    Points
    46
    Par défaut
    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
    37
    38
     
    @idce as numeric(9),
    @choix as numeric(9),
    @idclient as numeric(9),
    @idetatreclam as numeric(9),
    @dinit as nvarchar(40),
    @dfinal as nvarchar(40)
    AS
    set dateformat DMY
     
    declare @condition as nvarchar(40)
    if @dinit<> null and @dfinal <> null 
    begin
    select cast(@dinit as datetime)
    select cast(@dfinal as datetime)
    end
    /* Recherche par ce */
    set @condition = 
    case 
    when @choix = '1'   then 'dos.id_ce= @idce and d.date_courrier_client between @dinit and @dfinal' /*CE+Date*/
    when @choix = '2'   then 'dos.id_etat_reclam= @idetatreclam and d.date_courrier_client between @dinit and @dfinal' /*Etat+Date*/
    when @choix = '3'   then 'cli.id_client = @idclient' /*Client*/
    when @choix = '4'   then 'd.date_courrier_client between @dinit and @dfinal' /*Date*/
    when @choix = '5'   then 'dos.id_ce= @idce and d.date_courrier_client between @dinit and @dfinal and dos.id_etat_reclam= @idetatreclam' /*CE+Etat+Date*/
    when @choix = '6'   then 'dos.id_ce= @idce and dos.id_etat_reclam= @idetatreclam' /*CE+Etat*/
     
     
    select dossier,cli.cl_nom,d.date_courrier_client,etat.def_etat,ce.ce_nom from info_dossier dos
    	full outer join info_client cli
    		on cli.id_client = @idclient
    	full outer join info_etat_reclam etat
    		on etat.id_etat_reclam = dos.id_etat_reclam
    	full outer join info_ce ce 
    		on ce.id_ce =dos.id_ce
    	full outer join info_date d
    		on dos.id_date = dos.id_date
    where  @choix
    order by d.date_courrier_client

  4. #4
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 57
    Points : 46
    Points
    46
    Par défaut
    g trouvé par moi mm ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    set @requete='select dossier,cli.cl_nom,d.date_courrier_client,etat.def_etat,ce.ce_nom from info_dossier dos
    	 inner join info_client cli
    		on cli.id_client = dos.id_client
    	 inner join info_etat_reclam etat
    		on etat.id_etat_reclam = dos.id_etat_reclam
    	inner join info_ce ce 
    		on ce.id_ce =dos.id_ce
     	inner join info_date d
    		on d.id_date = dos.id_date
    	where '+@condition +'
    	order by d.date_courrier_client'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @condition = 'name="julien" '
    reste plus qu'à lancer la requete au sien de la SP
    et le tour est joué
    bonne journée

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

Discussions similaires

  1. Réponses: 25
    Dernier message: 10/12/2007, 19h28

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