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

Langage SQL Discussion :

Appeler deux tables temporaires issues de deux procédures stockées distinctes


Sujet :

Langage SQL

  1. #1
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut Appeler deux tables temporaires issues de deux procédures stockées distinctes
    Bonjour
    Je souhaiterais récupérer deux tables temporaires que j'ai crée dans deux procédures stockées respectives et en faire une requête union dans une troisième procédure stockée.

    je m'explique par cette exemple ci dessous:

    je crée une première procédure stockée SP1 où je crée une table temporaire T1
    Je crée une deuxième procédure stockée SP2 où je crée une table temporaire T2

    Je souhaiterais ensuite crée une troisième procédure stockée SP3 ou
    je ferais une requête union de T1 et 72 du style
    T1
    union
    T2

    Si je souhaite passer faire cela c'est que mes procédures stocke SP1 et SP2 sont assez longue et je souhaiterais aérer tout cela avec une troisième procédure stockée qui appellerai les deux premières

    Merci d'avance de votre aide

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 098
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 098
    Points : 8 207
    Points
    8 207
    Billets dans le blog
    17
    Par défaut
    Tu ne précises pas ton SGBD. Ci-dessous avec MySQL.
    Les tables temporaires sont supprimées automatiquement à la fin de la session.

    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
    DELIMITER $$
     
    CREATE PROCEDURE test_1()
    BEGIN
        CREATE TEMPORARY TABLE tmp_1 (c TINYTEXT);
        INSERT INTO tmp_1 VALUES ('foo'), ('bar'), ('baz');
    END$$
     
    CREATE PROCEDURE test_2()
    BEGIN
        CREATE TEMPORARY TABLE tmp_2 (c TINYTEXT);
        INSERT INTO tmp_2 VALUES ('qux'), ('quux');
    END$$
     
    CREATE PROCEDURE test_3()
    BEGIN
        CALL test_1(); -- Création de la 1re table temporaire
        CALL test_2(); -- Création de la 2nde table temporaire
     
        SELECT ALL c FROM tmp_1
        UNION ALL
        SELECT ALL c FROM tmp_2;
    END$$
     
    CALL test_3()$$
    Résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foo
    bar
    baz
    qux
    quux
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/07/2020, 11h57
  2. Proc stockée qui appelle deux proc stockées et quelques scripts
    Par khalid76 dans le forum Développement
    Réponses: 0
    Dernier message: 07/11/2012, 18h46
  3. Imbriquer deux procédures stockées
    Par Alegreg dans le forum MS SQL Server
    Réponses: 18
    Dernier message: 30/04/2011, 18h05
  4. Réponses: 2
    Dernier message: 21/03/2008, 16h07
  5. Appel d'un script SQL dans une procdure stockée
    Par doudou10000 dans le forum Oracle
    Réponses: 10
    Dernier message: 01/12/2004, 10h01

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