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 :

Executer procedure stockée pour chaque résultat d'une requete


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 39
    Points : 37
    Points
    37
    Par défaut Executer procedure stockée pour chaque résultat d'une requete
    Bonjour,

    J'ai créé une requete qui retourne un champ contenant l'instruction à exécuter par une procédure stockée.
    Ex de résultat de ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "spu_MaProcStock 10,22"
    "spu_MaProcStock 13,24"
    "spu_MaProcStock 15,25"
    Ce que je voudrais, c'est exécuter la procédure stockée pour chaque résultat de ma requête.
    Ce qui devrait faire quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    exec spu_MaProcStock 10,22
    exec spu_MaProcStock 13,24
    exec spu_MaProcStock 15,25
    Mais je n'arrive pas à lui faire exécuter le texte résultat de ma requête pour chaque ligne.

    Si vous avez une idée,

    Merci.

    PS : Je travaille avec sql server 2000

  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
    il faut utiliser un curseur dans une prod stockée, tout d'abord tu dois mettre les resultats de ta premiere requete dans une table temporaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT champ1 INTO #TableTempo FROM....
    Dans la table "@TableTempo" tu aura donc :

    "spu_MaProcStock 10,22"
    "spu_MaProcStock 13,24"
    "spu_MaProcStock 15,25"
    ensuite pour le curseur :

    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
     
    DECLARE @nom varchar(50)
    DECLARE Test3 CURSOR FOR
    SELECT champ1 FROM #TableTempo
    OPEN Test3
    FETCH NEXT FROM test3 INTO
    @nom
    WHILE @@FETCH_STATUS = 0
    BEGIN
     
    EXEC @nom
     
    FETCH NEXT FROM test3 INTO
    @nom
    END
    Close test3
    DEALLOCATE test3
    j'suis vert !

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 39
    Points : 37
    Points
    37
    Par défaut
    C'est exactement ce que je recherchais...
    Merci beaucoup.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/06/2013, 11h19
  2. Procedure stockée pour une recherche multicritère
    Par souma21 dans le forum Développement
    Réponses: 5
    Dernier message: 14/05/2012, 16h28
  3. [Oracle] Instancier une classe pour chaque résultat avec OCI_
    Par H.ile dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 13/01/2012, 13h52
  4. Réponses: 6
    Dernier message: 11/08/2010, 15h50
  5. Réponses: 4
    Dernier message: 28/05/2010, 17h11

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