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 :

Améliorer une Procedure


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 210
    Points : 103
    Points
    103
    Par défaut Améliorer une Procedure
    Hello,

    jettez un oeil à cette procédure :

    use cra2
    go
    setnocounton
    create
    table Histo
    (
    Id varchar(10)primarykey,
    Week varchar(10),
    Project varchar(10)
    )
    insertinto Histo (Id, Week, Project)
    select'47','2006-12','Internet'
    unionall
    select'48','2006-13','Internet'
    unionall
    select'49','2006-12','Intranet'
    go
    select*
    from Histo
    go
    SELECT Project,
    [2006-12]
    ,
    [2006-13]
    FROM
    (SELECT Project, week, id
    FROM histo) s
    PIVOT
    (
    max(id)
    FOR Week IN([2006-12],[2006-13])
    ) p
    ORDERBY [Project]
    go
    droptable histo

    je voudrais l'améliorer pour pouvoir l'exploiter.

    Mon principal problème est la présence de ces blocs : [2006-12],[2006-13] au début et à la fin.

    je souhaite pouvoir définir une semaine de départ ainsi qu'un nombre de semaines à afficher.

    Quelqu'un peut-il m'aider ?

  2. #2
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    bah faut lui passer deux parametres à ta procedure :

    - la semaine de départ
    - le nombre de semaines

  3. #3
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 210
    Points : 103
    Points
    103
    Par défaut
    le problème n'est pas de passer des paramètres, c'est de remplacer les parties codées "en dur".

  4. #4
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    ce que tu veux faire c'est pouvoir faire la meme procedure pour des nombres de semaine différents ??

    un jour tu aura
    [2006-12],[2006-13]
    un autre
    [2006-26],[2006-29]

    ....

    c'est pas ca ?

  5. #5
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 210
    Points : 103
    Points
    103
    Par défaut
    Ce que je veux faire, c'est pouvoir définir une semaine de début, un nombre de semaines à afficher et que automatiquement mon tableau soit généré.

    A priori, je vais devoir utiliser du SQL dynamique pour générer la liste des semaines sur lesquelles va porter la requète.

Discussions similaires

  1. Appel a une procedure stockée en vba
    Par The_Nail dans le forum VBA Access
    Réponses: 36
    Dernier message: 01/04/2003, 16h44
  2. Execution d'une procedure avec TNotifyEvent;
    Par Chupakabra dans le forum Langage
    Réponses: 2
    Dernier message: 30/01/2003, 14h50
  3. Declaration Type ds une procedure
    Par Qwazerty dans le forum Langage
    Réponses: 6
    Dernier message: 28/08/2002, 09h09
  4. [TP]code asm dans une procedure
    Par M.Dlb dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 17/08/2002, 20h43
  5. Reprendre une procedure dans une autre ?
    Par Poisson Rouge dans le forum Langage
    Réponses: 3
    Dernier message: 17/07/2002, 22h51

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