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 :

Création de fonction PL/SQL


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations professionnelles :
    Activité : jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut Création de fonction PL/SQL
    bonjour,

    je suis débutant en pl/sql.

    je veux créer une fonction que je vais appeler char calculateur( int var ).
    cette fonction prend la valeur de l'argument var et le traite ensuite il retourne en chaîne de caractères

    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
     
    char calculateur( int variable ) {
     
    int var1, var2, var3;
     
    var1 = 1*power(2,12); var2 = 2*power(2,12);
    var3 = 3*power(2,12); 
     
    if ( variable >= var1 && variable < var2  ) {
     
    char chaine1; chaine1="Partie-1"; 
     
    return chaine1;
     
    }
     
    if ( variable >= var2 && variable < var3  ) {
     
    char chaine1; chaine1="Partie-2"; 
     
    return chaine1;
     
    }
     
    }
    ensuite il y a une fonction sql qui va utliliser cette foncion calculateur(...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    select calculateur( champ1 ) from table1 where identify=5;

    alors que dois-je faire pour pouvoir réaliser ?

    sincères mercis
    lastmagik

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Ce tutoriel te donnera la syntaxe des déclarations en langage PL/SQL.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre actif
    jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations professionnelles :
    Activité : jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut remerciements
    bonjour al1_24,

    je vais voir et étudier le lien.
    merci beaucoup.

    sincères mercis
    lastmagik

  4. #4
    Membre actif
    jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations professionnelles :
    Activité : jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut souhait
    bonjour,

    si on pourrait me proposer la solution du code que j'ai donné au début çà va beaucoup m'aider à évoluer de voir vite et comment çà fonctionne.

    sincères mercis
    lastmagik

  5. #5
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    C'est pas sur, le but est d'apprendre.
    je vais faire simple comme exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE OR REPLACE FUNCTION calculateur (p_var IN NUMBER) RETURN VARCHAR2
    IS 
     v_chaine VARCHAR2(255);
    BEGIN
     v_chaine := 'Hello World '|| p_var;
     RETURN v_chaine;
    END;

  6. #6
    Membre actif
    jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations professionnelles :
    Activité : jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut apprendre pl sql = OUI
    bonjour à tous et à McM,

    pour commencer facilement.
    faisons cette code en pl sql.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int calculateur( int a )
    {
    int b; b= 4*(pow(2,3))*( 2*a ) / 3;
    return b;
    }
     
    select calculateur( champ1 ) from table1 where identify=5;
    je serai très reconnaissant ;-)

    sincères mercis
    michaël

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Montre nous ce que tu as commencé à faire, nous pourrons alors t'aider à corriger les erreurs.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  8. #8
    Membre actif
    jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations professionnelles :
    Activité : jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut bonjour
    bonjour à tous et à al1_24,

    je veux créer une fonction qui sera réutiliser dans la requête select.
    mais le probleme est que je ne sais pas comment écrire une fonction en pl sql.

    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int calculateur( int a )
    {
    int b; b= 4*(pow(2,3))*( 2*a ) / 3;
    RETURN b;
    }
    si tu peux donner l'équivalent de cette fonction en pl sql.

    sincères mercis
    lastmagik

  9. #9
    Membre éprouvé Avatar de pinocchio
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2002
    Messages : 795
    Par défaut
    Ton souci est que tu n'auras aucune réponse actuellement.
    Comme indiqué précédement, c'est un forum d'aide.
    Montre ce que tu as fais et ce sur quoi tu as un problème.
    McM t'a donné la structure de ta fonction, tu ne fais même pas l'effort de la reprendre et tu nous remets ta fonction d'origine.

  10. #10
    Membre actif
    jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations professionnelles :
    Activité : jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut code de McM
    bonjour à tous et à pinocchio,

    j'ai déjà éxécuté le code venant de McM mais le code n'a pas réagi.
    ci-dessous le résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    SQL> CREATE OR REPLACE FUNCTION calculateur (p_var IN NUMBER) RETURN VARCHAR2
      2  IS
      3  v_chaine VARCHAR2(255);
      4  BEGIN
      5  v_chaine := 'Hello World '|| p_var;
      6  RETURN v_chaine;
      7  END;
      8
    sincères mercis
    lastmagik

Discussions similaires

  1. Fonction sous SQL Server
    Par GeffD dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/04/2005, 11h32
  2. fonction DATEADD [SQL SERVER]
    Par HULK dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/12/2004, 17h33
  3. Réponses: 6
    Dernier message: 24/12/2004, 16h46
  4. [PostgreSQL] fonction pl/sql
    Par sam54 dans le forum Requêtes
    Réponses: 2
    Dernier message: 28/05/2003, 16h09
  5. - fonction Transact-SQL...
    Par korrigann dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/05/2003, 15h00

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