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 :

Passer des variables dans une fonction


Sujet :

PL/SQL Oracle

  1. #1
    Membre actif
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Points : 283
    Points
    283
    Par défaut Passer des variables dans une fonction
    Bonjour à tous,
    j'ai un souci vraiment très simple, en tout cas je le pense, je voudrai passer des paramêtres dans une proc stock afin de la tester mais je ne sais pas comment faire. En fait je ne connai pas la syntaxe.
    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
    26
    27
    28
    (pidcompte bosolde.U##IDCOMPTE%type, pnobail faitloc.nobail%type, pdate_situ date) return varchar2 is
    wproc varchar2(11);
     
    begin
     
    wproc:='';
     
    select boctx.ctyproc, boctx.ctyphas, boctx.cevent, boctx.datevent, boctx.datclo as toti
    into wproc
    from boctx, faitloc
    where boctx.U##IDCOMPTE =pidcompte
    and boctx.datcreat in ( select max(boctx.DATCREAT)
                            from  boctx, faitloc
                            where faitloc.U##IDBAIL=boctx.U##IDBAIL
                            and boctx.U##IDCOMPTE ==pidcompte
                            and   faitloc.nobail = pnobail
                            and boctx.temderev =1
                            and (boctx.datclo > pdate_situ 
                              or boctx.datclo is null))
    and boctx.DATEVENT =( select max(boctx.DATEVENT )
                              from boctx, faitloc
                              where faitloc.U##IDBAIL=boctx.U##IDBAIL
                              and boctx.U##IDCOMPTE ==pidcompte
                              and   faitloc.nobail = pnobail
                            and boctx.temderev =1
                            and (boctx.datclo > pdate_situ 
                              or boctx.datclo is null)
                            )
    sa c'est ce que j'ai maintenant ce que je voudrai c'est remplacer pidcompte, pnobail, pdate_situ par des valeurs et lancer le tout pour voir le résultat que sa donne.
    Est-ce que quelqu'un connait la syntaxe?
    ou sinon j'ai remplacé tout le bloc au-dessus par celui-ci, pour effectuer mes test. Est-ce que c'est la même chose?
    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
    select boctx.ctyproc, boctx.ctyphas, boctx.cevent, boctx.datevent, boctx.datclo as toti
    from boctx, faitloc
    where boctx.U##IDCOMPTE ='0100000070180'
    and boctx.datcreat in ( select max(boctx.DATCREAT)
                            from  boctx, faitloc
                            where faitloc.U##IDBAIL=boctx.U##IDBAIL
                            and boctx.U##IDCOMPTE ='0100000070180'
                            and   faitloc.nobail = 1--pnobail
                            and boctx.temderev =1
                            and (boctx.datclo > '30/06/2008' 
                              or boctx.datclo is null))
    and boctx.DATEVENT =( select max(boctx.DATEVENT )
                              from boctx, faitloc
                              where faitloc.U##IDBAIL=boctx.U##IDBAIL
                              and boctx.U##IDCOMPTE ='0100000070180'
                              and   faitloc.nobail = 1--pnobail
                            and boctx.temderev =1
                            and (boctx.datclo > '30/06/2008' 
                              or boctx.datclo is null)
                            )--)
    Merci pour votre aide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Points : 111
    Points
    111
    Par défaut
    je n'ai pas du comprendre ta question.

    tu veux juste passer des paramètres a une procédure?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CREATE OR REPLACE PROCEDURE MA_PROCEDURE
       (PARAM1 in VARCHAR2
      ,PARAM2 in VARCHAR2
      ,PARAM3 in NUMBER) IS
     
    BEGIN
        dbms_output.put_line('bonjour '||PARAM1);
    END MA_PROCEDURE;

  3. #3
    Membre actif
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Points : 283
    Points
    283
    Par défaut
    oui en fait c'est sa, je veux juste pouvoir saisir les paramêtres afin de voir le résultat que me retourne la proc stock ci-dessous.
    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
    26
    27
    28
    29
     
    (pidcompte bosolde.U##IDCOMPTE%type, pnobail faitloc.nobail%type, pdate_situ date) return varchar2 is
    wproc varchar2(11);
     
    begin
     
    wproc:='';
     
    SELECT boctx.ctyproc, boctx.ctyphas, boctx.cevent, boctx.datevent, boctx.datclo AS toti
    INTO wproc
    FROM boctx, faitloc
    WHERE boctx.U##IDCOMPTE =pidcompte
    AND boctx.datcreat IN ( SELECT max(boctx.DATCREAT)
                            FROM  boctx, faitloc
                            WHERE faitloc.U##IDBAIL=boctx.U##IDBAIL
                            AND boctx.U##IDCOMPTE ==pidcompte
                            AND   faitloc.nobail = pnobail
                            AND boctx.temderev =1
                            AND (boctx.datclo > pdate_situ 
                              OR boctx.datclo IS NULL))
    AND boctx.DATEVENT =( SELECT max(boctx.DATEVENT )
                              FROM boctx, faitloc
                              WHERE faitloc.U##IDBAIL=boctx.U##IDBAIL
                              AND boctx.U##IDCOMPTE ==pidcompte
                              AND   faitloc.nobail = pnobail
                            AND boctx.temderev =1
                            AND (boctx.datclo > pdate_situ 
                              OR boctx.datclo IS NULL)
                            )
    mais je ne m'y connais pas en PL/SQL.

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    pas besoin de PL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT mafonction(param1,param2) FROM dual;

  5. #5
    Membre actif
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Points : 283
    Points
    283
    Par défaut
    Alors j'ai fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select logi_bis('0100000070180',1,'30/06/2008') from dual;
    et le résulat c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LOGI_BIS('0100000070180',1,'30/06/2008')
    c'est pas vraiment ce que j'attendais. j'ai exécuté le ce code sur SQL* plus Worksheet.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Points : 111
    Points
    111
    Par défaut
    LOGI_BIS c'est une fonction ou une procédure?

  7. #7
    Membre actif
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Points : 283
    Points
    283
    Par défaut
    LOGI_BIS est une fonction

  8. #8
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    T'as surement pas lancé la commande que tu dis

    Essaye sous SQL*Plus

  9. #9
    Membre actif
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Points : 283
    Points
    283
    Par défaut
    beh pourtant si c'est bien ce que j'ai fait voici la capture d'écran avec sql+
    Images attachées Images attachées  

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Points : 111
    Points
    111
    Par défaut
    ben elle ne t'a rien ramené ta fonction c'est pour ça

  11. #11
    Membre actif
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Points : 283
    Points
    283
    Par défaut
    et la je ne vois pas pourquoi car je suis certain qu'avec ces paramêtres il y a des enregistrements dans la base

  12. #12
    Membre actif
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Points : 283
    Points
    283
    Par défaut
    bon faut que je vois car en effet j'ai essayé avec d'autres paramêtres et la il me retourne ce que j'attendais, MERCI BEAUCOUP, orafrance et alx13 vous êtes des chefs

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

Discussions similaires

  1. [Perl/Tk] problème pour faire passer des variables vers une fonction
    Par seben dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 09/03/2009, 15h17
  2. déclaration des variables dans une fonction
    Par kawther dans le forum Débuter
    Réponses: 4
    Dernier message: 22/10/2008, 01h17
  3. Passer des variables dans une page pop up
    Par philippef dans le forum Langage
    Réponses: 5
    Dernier message: 15/07/2008, 20h38
  4. [D5] Créer dynamiquement des variables dans une fonction
    Par MelkInarian dans le forum Delphi
    Réponses: 11
    Dernier message: 14/04/2007, 12h16
  5. [AS2] déclarer des variables dans une fonction
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 12
    Dernier message: 02/08/2005, 12h50

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