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-1Received on Fri Aug 27 1999 - 13:22:02 CDT