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

Oracle Discussion :

PL/SQL exception ORA-06512


Sujet :

Oracle

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut PL/SQL exception ORA-06512
    bonsoir SVP si qulequ'un peut m'aider ....
    voilà mon fonction


    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
    30
    31
    32
    33
    34
    35
    36
     create or replace 
    FUNCTION HMAX
    (polu_st in varchar2) return number
    AS
         I number(2);
    	   TYPE TYPE_TAB IS VARRAY (25) OF journalier.h_m01%type; /*--varray tabelau se commence de 1*/
    	   tab TYPE_TAB := TYPE_TAB(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); /*-- il faut l'initialiser*/
         hrmax number(6);
         indice number(6);
         pol varchar2(6);
    begin
    pol := polu_st;
    DBMS_OUTPUT.PUT_LINE (pol);
    select h_m01,h_m02,h_m03 ,h_m04 ,h_m05,h_m06,h_m07,h_m08,h_m09,h_m10,h_m11,
           h_m12,h_m13,h_m14,h_m15,h_m16,h_m17,h_m18,h_m19,h_m20,h_m21,h_m22 ,
           h_m23 ,h_m24 ,nom_court_mes
    into  tab(1),tab(2),tab(3),tab(4),tab(5),tab(6),tab(7),tab(8),tab(9),tab(10),tab(11)
          ,tab(12),tab(13),tab(14),tab(15),tab(16),tab(17),tab(18),tab(19),tab(20),tab(21)
          ,tab(22),tab(23),tab(24),pol
    from journalier 
    where j_date like (select sysdate-4 from dual)     
          and nom_court_mes = pol;
    	  --(select sysdate-4 jj from dual)
        DBMS_OUTPUT.PUT_LINE ('I m here' );
      hrmax := tab(1);
      FOR I IN 2..24
    	 LOOP
    	 	if hrmax < tab(I)  then
           hrmax := tab(I);
        end if ;
    	 END LOOP;
     
       indice := SOUSINDICE(hrmax,polu_st);
     
       return indice;
    end HMAX;

    mon probleme est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    where ........
          and nom_court_mes = pol;
    il n'arrive pas à comparer la colonne avec la variable ..il m'affcihe un execption en mon code de test : qui est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Rapport d'erreur :
    ORA-01403: no data found
    ORA-06512: at "SCOTT.HMAX", line 13
    ORA-06512: at line 32
    01403. 00000 -  "no data found"
    *Cause:    
    *Action:
    SO2_O1
    mais moi je veux ça je veux comparer la colonne evec cet variable ..
    S'il ya un autre solution SVP n'hésitez pas de m'aider

    MErciii

  2. #2
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    A priori c'est la gestion de la variable pol qui ne va pas

    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
    30
    31
    CREATE OR REPLACE FUNCTION HMAX (polu_st IN varchar2) RETURN number AS
     I number(2);
     TYPE TYPE_TAB IS VARRAY (25) OF journalier.h_m01%type; /*--varray tabelau se commence de 1*/
     tab TYPE_TAB := TYPE_TAB(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); /*-- il faut l'initialiser*/
     hrmax number(6);
     indice number(6);
     pol varchar2(6);
    begin
     SELECT h_m01,h_m02,h_m03 ,h_m04 ,h_m05,h_m06,h_m07,h_m08,h_m09,h_m10,h_m11,
            h_m12,h_m13,h_m14,h_m15,h_m16,h_m17,h_m18,h_m19,h_m20,h_m21,h_m22 ,
            h_m23 ,h_m24 ,nom_court_mes
     INTO  tab(1),tab(2),tab(3),tab(4),tab(5),tab(6),tab(7),tab(8),tab(9),tab(10),tab(11)
           ,tab(12),tab(13),tab(14),tab(15),tab(16),tab(17),tab(18),tab(19),tab(20),tab(21)
           ,tab(22),tab(23),tab(24),pol
     FROM journalier 
     WHERE j_date LIKE (SELECT sysdate-4 FROM dual)     
           AND nom_court_mes = polu_st;
     
     DBMS_OUTPUT.PUT_LINE ('I m here' );
     hrmax := tab(1);
     FOR I IN 2..24
     LOOP
      IF hrmax < tab(I)  then
       hrmax := tab(I);
      end IF ;
     END LOOP;
     
     indice := SOUSINDICE(hrmax,polu_st);
     
     RETURN indice;
    end HMAX;
    devrait au moins produire un résultat

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/12/2011, 09h37
  2. [PL/SQL] Problème de ora 06512
    Par claralavraie dans le forum Oracle
    Réponses: 9
    Dernier message: 08/12/2010, 10h40
  3. Exception : java.sql.SQLException ORA-01008
    Par spider_sup dans le forum JDBC
    Réponses: 4
    Dernier message: 22/08/2008, 14h36
  4. Réponses: 4
    Dernier message: 15/06/2004, 17h36
  5. [JDBC] SQL Exception lors d'une Query !
    Par Castagnems dans le forum JDBC
    Réponses: 5
    Dernier message: 30/04/2004, 12h00

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