Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Q: ORA-01008/PLS-00950

Q: ORA-01008/PLS-00950

From: Gombos Bertalan <bgombos_at_freemail.c3.hu>
Date: Fri, 27 Aug 1999 20:22:02 +0200
Message-ID: <37C6D74A.A017F35@freemail.c3.hu>


Hi all!

  I met a very strange phenomena. I wrote the following package:

create or replace package my_package is

type t_cref is ref cursor;

function get_elemi_egyenleg#SQL(

  p_szla_tip number,
  p_pt       number,
  p_hely     number,
  p_inst     number,
  p_szerz    number,
  p_en       date,
  p_kn       date,
  p_fajta    char

) return varchar2;

pragma restrict_references(get_elemi_egyenleg#SQL, WNDS, WNPS);   

procedure test_proc;

end my_package;

create or replace package body my_package is

function get_elemi_egyenleg#SQL(

  p_szla_tip number,
  p_pt       number,
  p_hely     number,
  p_inst     number,
  p_szerz    number,
  p_en       date,
  p_kn       date,
  p_fajta    char

) return varchar2 is

  begin
    return 'x';
  end;   

procedure test_proc is
  c my_package.t_cref;

  v_szerz number; 
  v_pt number; 
  v_en date;
  v_kn date;
  v_kepzett_egyen number;

begin
  open c for
      select osszeg_str
        from (
          select fk_szla_kepzett_egyen, fk_pt, fk_inst, 
            my_package.get_elemi_egyenleg#SQL(
              sz.fk_szla_tip,
              v_pt,           
              fk_pt_hely,    
              fk_inst,       
              v_szerz,        
              v_en,           
              v_kn,          
              'Z'
              ) osszeg_str
            from szla.szla sz, szla.szla_kif_egyen kif 
            where sz.fk_szla_tip = kif.fk_szla_tip
            )
        where v_kepzett_egyen = fk_szla_kepzett_egyen;
  close c;
end;

end my_package;

  Compilation was successful, but when I call test_proc(), I got ORA-01008
(not all variables bound.). After it I watch the error stack, it says: PLS-00950 (In this version, PL/SQL tables can not be used in this SQL statement.).

  Could anybody help me? The SELECT is just an example, my original select
was the following:

    open c for

      select
        sum(szorzo * nvl(substr(osszeg_str, 1, instr(osszeg_str,
'#')-1),
0))
          osszeg,
        sum(szorzo * nvl(substr(osszeg_str, instr(osszeg_str, '#')+1, 
          instr(osszeg_str, '#', 1, 2)-instr(osszeg_str, '#')-1), 0))
osszeg_fk,
        sum(szorzo * nvl(substr(osszeg_str, instr(osszeg_str, '#', 1,
2)+1),
0))
          osszeg_fk_alt,
        v_kepzett_egyen sn_szla_kepzett_egyen, 
        v_sze, 
        fk_pt, 
        fk_inst, 
        v_szerz fk_szerz, 
        v_en en_nap, 
        v_kn kn_nap
        from (
          select fk_szla_kepzett_egyen, fk_pt, fk_inst, 
            mozgas.get_elemi_egyenleg#SQL(
              sz.fk_szla_tip,
              v_pt,
              fk_pt_hely,
              fk_inst,
              v_szerz,
              v_en,
              v_kn,
              'Z'
              ) 
              osszeg_str, szorzo
            from szla sz, szla_kif_egyen kif 
            where sz.fk_szla_tip = kif.fk_szla_tip
            ) x
        where v_kepzett_egyen = fk_szla_kepzett_egyen
      group by 
        v_kepzett_egyen, 
        v_sze, 
        fk_pt, 
        fk_inst, 
        v_szerz, 
        v_en,
        v_kn;

  ... where v_xxx are local variables.

Thanks, bye:
--

    .---,                            G o m b o s  B e r t a l a n
    :   :
    :---'-. ,---. ,--. ,-.-.       rendszerfejleszto, Oracle mernok
    :     : :--   :      ;          mailto:bgombos_at_freemail.c3.hu
   ,' '---' '---' '      `-'
-- : ------------------------- Az elet megis egy habostorta? --- '10^2-1
Received on Fri Aug 27 1999 - 13:22:02 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US