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

PL/SQL Oracle Discussion :

Executer PL avec paramètre


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Septembre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 63
    Par défaut Executer PL avec paramètre
    Bonjour,
    J'ai une procédure PL "extracation" sous oracle.
    Elle contient deux paramètres vc_db1 := 'MAGASIN_PARIS' ET
    vc_db2 := 'CENTRE_PARIS'
    Je souhaite l’exécuter en lui passant les paramètres dans l’exécution
    Merci


    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
      EXEC extracation  @...

  2. #2
    Membre chevronné
    Avatar de Bibeleuh
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2010
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 209
    Par défaut
    Deux variantes :

    Appel avec position des paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXEC extraction('MAGASIN_PARIS', 'CENTRE_PARIS');
    Appel avec nom des paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXEC extraction(vc_db2 => 'CENTRE_PARIS', vc_db1 => 'MAGASIN_PARIS');

  3. #3
    Membre actif
    Inscrit en
    Septembre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 63
    Par défaut
    Citation Envoyé par Bibeleuh Voir le message
    Deux variantes :

    Appel avec position des paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXEC extraction('MAGASIN_PARIS', 'CENTRE_PARIS');
    Appel avec nom des paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXEC extraction(vc_db2 => 'CENTRE_PARIS', vc_db1 => 'MAGASIN_PARIS');
    Merci
    En fait, ca ne marche pas !
    dans ma procédure j'ai deux variable paramètres :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    vc_db2 := 'CENTRE_PARIS';
    vc_db1 := 'MAGASIN_PARIS';

    pour exécuter la proc sans mettre les valeurs en paramètre en dur dans PL :
    Je dois enlever les paramètres en dur dans PL ? sous quel format ?

    avant de faire :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXEC extraction(vc_db2 => 'CENTRE_PARIS', vc_db1 => 'MAGASIN_PARIS')



    Merci de votre aide

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Votre question n'est pas vraiment clair; votre histoire de paramètre en dur est nébuleuse.

    A quel moment voulez vous renseigner les valeurs de ces paramètres ?

    Poster le code de la procédure, merci.

  5. #5
    Membre actif
    Inscrit en
    Septembre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 63
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Votre question n'est pas vraiment clair; votre histoire de paramètre en dur est nébuleuse.

    A quel moment voulez vous renseigner les valeurs de ces paramètres ?

    Poster le code de la procédure, merci.
    Code sql : 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
     
     
    create or replace
    PROCEDURE EXTRACTION
    IS 
    LN$Cpt PLS_INTEGER ;
    vc_db1 varchar2(100);
    vc_db2 varchar2(100);
     
    BEGIN 
     
     
    vc_db1 := 'PARIS';
    vc_db2 := 'BORDEAUX';
     
     
    EXECUTE IMMEDIATE '
     
    INSERT INTO table1
    ( ...)
    ( Select 
    ...
    FROM vuemag@'||vc_db1||')' ; 
     
     
    EXECUTE IMMEDIATE '
     
    INSERT INTO table2
    ( ...)
    ( Select 
    ...
    FROM vuemag@'||vc_db2||')' ; 
     
     
     
    END,

    voici mon code
    Le but est de na pas mettre les deux variables dans PL (vc_db1/ vc_db2)
    Je souhaiterai passer les valeurs lors de l'execution

    Merci beaucoup

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par decisio Voir le message
    Le but est de na pas mettre les deux variables dans PL (vc_db1/ vc_db2)
    Je souhaiterai passer les valeurs lors de l'execution

    Merci beaucoup
    Il suffit donc de virer les deux variables et les mettre en paramètre, comme dit plus haut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE OR REPLACE
    PROCEDURE EXTRACTION
     
    (
    vc_db1 varchar2,
    vc_db2 varchar2
    )
    IS 
    ....
    Accessoirement, il y a une bonne raison ici pour utiliser du SQL dynamique dans la procédure ?

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

Discussions similaires

  1. execution script avec paramètres
    Par exe2bin dans le forum Général Python
    Réponses: 15
    Dernier message: 25/04/2010, 13h57
  2. Executer une application avec paramètres
    Par GUNNM45 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/09/2008, 09h54
  3. Réponses: 8
    Dernier message: 19/12/2006, 23h55
  4. Réponses: 1
    Dernier message: 03/12/2006, 16h13
  5. Instruction EXECUTE avec paramètres
    Par @n@kin.be dans le forum PostgreSQL
    Réponses: 17
    Dernier message: 19/06/2006, 11h07

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