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 :

Appel d'une variable externe et modification dans une fonction


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur SIG
    Inscrit en
    Octobre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur SIG

    Informations forums :
    Inscription : Octobre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Appel d'une variable externe et modification dans une fonction
    Bonjour,

    Je débute en PL/SQL et je bute sur un problème apparemment tout bête depuis plusieurs jours.... Voilà mon problème, je cherche à créer une fonction qui ajoute +1 à une variable à chaque fois qu'elle est appellée (des mathématiques de haut vol). La fonction donc doit me renvoyer une valeur, et changer la valeur de ma variable externe à la fonction, au cas où ce soit la cause "ELSE" qui soit appellée.

    La deuxième partie du script focntionne, je l'ai laissé juste pour que vous puissiez voir plus clairement mon objectif.

    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
    -- Création de la fonction ou remplacement si elle n'existe pas déjà --
    create or replace function NUM_TRONC return number
    is 
      result number;
      ma_variable number := @INCH;
    BEGIN
       result := ma_variable + 1;
       DEFINE @INCH := result;
     
       RETURN (result);
    END;
    -- Execution de la création des tronçons --
     
    DEFINE CAT_ELS_PREC=( select CAT_ELS from POPULATION_RAPPORT_comp deux where deux.POP_RPT_PK_H = (select POP_RPT_PK_H-10 from POPULATION_RAPPORT_comp un where deux.FID_bis=un.fid_bis-1) and deux.FID_bis=trois.fid_bis-1)
    DEFINE PRO_ELS_PREC=( select PRO_ELS from POPULATION_RAPPORT_comp deux where deux.POP_RPT_PK_H = (select POP_RPT_PK_H-10 from POPULATION_RAPPORT_comp un where deux.FID_bis=un.fid_bis-1) and deux.FID_bis=trois.fid_bis-1)
    DEFINE INCH=(1);
    UPDATE POPULATION_RAPPORT_comp trois
    SET trois.N_TRONC_HOM_ELS = (
      CASE 
        WHEN CAT_ELS not like &CAT_ELS_PREC or PRO_ELS not like &PRO_ELS_PREC THEN NUM_TRONCON
        ELSE &INCH
      END
    ) ;
    Merci par avance pour votre aide et bonne journée.

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    un variable de type in out?

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur SIG
    Inscrit en
    Octobre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur SIG

    Informations forums :
    Inscription : Octobre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour Mathieu2000,

    Je ne sais pas c'est qu'une variable in out. J'ai réussi à contourner le problème avec excel mais la réponse m'intéresse toujours. Il s'agit simplement d'incrémenter une variable selon une condition.

Discussions similaires

  1. Récupération de la valeur d une variable elle même contenue dans une variable
    Par guiplongeur dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 16/03/2015, 16h23
  2. Réponses: 2
    Dernier message: 14/05/2014, 10h23
  3. Réponses: 3
    Dernier message: 13/12/2009, 17h04
  4. [MySQL] récupérer dans une boucle chaque information MySQL dans une variable différente
    Par gtenthorey dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/05/2007, 22h34
  5. Réponses: 1
    Dernier message: 17/01/2007, 21h52

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