title: Error on PL/SQL script datamart time table
body: <p>I'm using this script to generate time table on a datawarehouse on oracle 11g express. This is the table</p>
  
  <p><a href="https://i.stack.imgur.com/zpPE3.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/zpPE3.png" alt="enter image description here"></a></p>
  
  <p>But when I compile, it gives me this error:
  <a href="https://i.stack.imgur.com/EA3WM.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/EA3WM.png" alt="this error"></a>.</p>
  
  <p>The following script is to generate time dimension. I remember using the same code a year ago, but now it gives me the error that I mentioned:</p>
  
  <pre><code>CREATE or replace procedure date_manag is
  date_debut DATE;
  date_loop DATE;
  date_fin DATE;
  jour BINARY_INTEGER;
  mois BINARY_INTEGER;
  annee BINARY_INTEGER;
  trim BINARY_INTEGER;
  nom Varchar2(20);
  Begin
  date_debut:=TO_DATE('20/01/2012','dd/mm/yyyy');
  date_fin:=TO_DATE('20/12/2012','dd/mm/yyyy');
  date_loop:=date_debut;
  WHILE date_loop &lt;=date_fin
   LOOP
   select extract(day from date_loop) into jour from dual;
   select extract(month from date_loop) into mois from dual;
   select extract(year from date_loop) into annee from dual;
   CASE 
    WHEN mois=1 THEN nom :='JANVIER';
    WHEN mois=2 THEN nom :='FEVRIER';
    WHEN mois=3 THEN nom :='MARS';
    WHEN mois=4 THEN nom :='AVRIL';
    WHEN mois=5 THEN nom :='MAI';
    WHEN mois=6 THEN nom :='JUIN';
    WHEN mois=7 THEN nom :='JUILLET';
    WHEN mois=8 THEN nom :='AOUT';
    WHEN mois=9 THEN nom :='SEPTEMBRE';
    WHEN mois=10 THEN nom :='OCTOBRE';
    WHEN mois=11 THEN nom :='NOVEMBRE';
    else   nom:='DECEMBRE';
  END CASE;
   CASE 
    when mois in(1,2,3) THEN trim :=1;
    when mois in(4,5,6) THEN trim :=2;
    when mois in(7,8,9) THEN trim :=3;
    else trim:=4;
   END CASE;
   INSERT into QOS.TEMPS VALUES( CASE   
  when mois in(10,11,12) THEN annee||jour||mois 
  ELSE annee||jour||'0'||mois 
  END  
  ,annee,mois,jour,trim,jour || '/' || mois || '/' || annee,nom);
  
  select ADD_MONTHS(date_loop,1) into date_loop from dual;
  END LOOP;
  END;
  /
  [this is my table][2]
  </code></pre>
  
  <p>Thanks </p>