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 :

Imbriquer deux procédures stockées


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 36
    Par défaut Imbriquer deux procédures stockées
    Bonjour a tous,

    Je viens de passer sur une base de donnée SQL Server et j'avoue avoir un peu de mal meme si jcommence a mi habituer.

    Je souhaiterai savoir appeller une procedure stockée dans une autre procedure stockée.

    Ma proc1 est censer me retour les informations sur un article par exemple un meuble ( Ce qui marche tres bien)

    mais comme ce meuble existe en plusieurs couleurs ( rouge, bleu, noir, marron ) je voudrais avoir une proc2 qui va recupere toute les couleurs disponible pour une article

    Comme sa je voudrais que lorsque j'appelle ma proc1, elle appelle ma proc2 pour avoir :

    numero article A000
    description : blabla
    hauteur: 150cm
    couleur ; rouge, bleu, noir, marron
    .....


    Je pense que c'est possible mais je ne sais pas vraiment comment j'ai bien essayé en ajoutant un exec proc2 @numart
    mais le resultat obtenue n'est pas celui voulu


    En esperant une reponse

    bonne journée

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 11
    Par défaut
    Salut,

    Pour appeler une procédure stocké en SQL, tu peux utiliser "exec [nom_procedure]".

    Comme ceci :

    code...
    ..
    ..

    exec tutu

    Si tu as des paramètres à fournir à ta procédure stocké, tu peux les passer comme ceci :

    exec tutu [arg_1],[arg_2]... etc

    -----------------------------

    Si ça sa ne fonctionne pas, il nous faut tes deux procédures pour comprendre.

    Merci.

    Cdt,
    Osiris6880

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 11
    Par défaut
    Précision.

    Si tu as une procédure qui te sort plusieurs articles et que tu veux les couleurs de chacun des articles.

    Soit tu utilise les jointures ou les curseurs.

    As tu des clés primaires, clés étrangères ?

  4. #4
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    ou les curseurs
    Ça il te faut pas le faire hein :-)

  5. #5
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Pourquoi utiliser deux procédures stockées?
    Si vous créez des procédures pour retourner un jeu de résultat et que vous commencez à devoir imbriquer ceux-ci(comme c'est le cas ici) faites simplement des fonction table.


    Vous ne devez pas raisonner côté base de données comme dans votre code CSHARP, ne codez pas une procédure stockée GETIMAGEOFARTICLE() vous perdez tout l’intérêt de la base de donnée c'est à dire sa nature à traiter les données de manière ensembliste et non de manière incrémentale.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 11
    Par défaut
    Ça il te faut pas le faire hein :-)
    Je suis d'accord avec toi, mais il y a des fois ou on ne peut pas faire autrement.
    Car lorsque l'on veut faire des opérations sur chaque ligne retourner par le select, c'est pratique.

  7. #7
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Oui, c'est pratique mais fortement déconseillé. Un SGBDR est optimisé pour faire des traitements ensemblistes pas pour des traitements ligne par ligne.Evitez donc tout parcours itératif.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  8. #8
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Poste ton code et nous allons l'amander.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/03/2008, 16h07
  2. Faire une procédure stockée avec deux tables
    Par mister3957 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/03/2006, 13h54
  3. Procédure stockée avec deux paramètres ADO/ORACLE
    Par zanifu dans le forum Bases de données
    Réponses: 7
    Dernier message: 01/03/2006, 09h13
  4. Procédures stockées imbriquées
    Par Didier L dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/07/2004, 10h14
  5. Procédures stockées imbriquées SQL Server
    Par Mike69 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/10/2003, 10h31

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