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

SQL Oracle Discussion :

probleme alias dans un Curseur


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 114
    Par défaut probleme alias dans un Curseur
    Bonjour tout le monde,
    j'ai un probleme au niveau d'un alias en rouge

    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
    function f_1 return number is
     cursor c_1 is 
     select empname, decode(nvl(sal,0),0,1000) a
     from emp;
     Sum_sal number(10);
     Begin
        for i in c_1 loop
            Sum_sal := Sum_sal + i.a;
        end loop;
        return(Sum_sal);
     Exception
        when no_data_found then
             return(0);
        when others then
             return(999999999);
    end;
    est ce que c'est possible d'utilise ce alias dans le curseur?

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    Citation Envoyé par Ora92_IDS
    est ce que c'est possible d'utilise ce alias dans le curseur?
    Le mieux c'est encore de tester :
    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
    10g CYRIL2> DECLARE
      2    CURSOR C_1 IS
      3      SELECT 'A', DECODE( TO_CHAR(SYSDATE, 'MM'), 05, 1) mois
      4      FROM   DUAL;
      5  
      6    SUM_SAL   NUMBER(10) := 0;
      7  BEGIN
      8    FOR I IN C_1 LOOP
      9      SUM_SAL := SUM_SAL + I.mois;
     10    END LOOP;
     11    DBMS_OUTPUT.PUT_LINE('total = ' || SUM_SAL);
     12  EXCEPTION WHEN OTHERS THEN
     13    DBMS_OUTPUT.PUT_LINE(SQLCODE || ' - ' || SQLERRM);
     14  END;
     15  /
    total = 1
     
    Procédure PL/SQL terminée avec succès.
    Attention :
    1/ j'ai effectué ce test avec une base en 10gR1 et vous, vous n'avez pas précisé votre version donc je ne peux pas vous dire si cela fonctionnera chez vous.
    2/ initialisez votre variable de comptage sinon la somme de quoi que ce soit avec null produira toujours null

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 114
    Par défaut
    Citation Envoyé par Magnus
    2/ initialisez votre variable de comptage sinon la somme de quoi que ce soit avec null produira toujours null
    Oui ta raison je fais pas l'initialisation des variables. Moi je travail avec DB 9i , et mnt ca marche
    Merci BCP

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

Discussions similaires

  1. probleme select dans curseur
    Par pseudobidon57 dans le forum SQL
    Réponses: 7
    Dernier message: 31/05/2007, 11h19
  2. [FLASH MX2004] Problème accent dans un XML
    Par cinetryx dans le forum Flash
    Réponses: 10
    Dernier message: 30/05/2007, 00h26
  3. Probleme d'affichage du curseur dans un chp texte avec firef
    Par dadovb dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/10/2005, 12h31
  4. probleme mouvement dans un paysage
    Par nonoRedDevils dans le forum OpenGL
    Réponses: 24
    Dernier message: 24/06/2004, 12h12
  5. [BCB6] Probleme onglet dans IDE
    Par bgautier dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/01/2004, 16h20

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