| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Q: ORA-01008/PLS-00950
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
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
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;
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 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),
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),
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
![]() |
![]() |