Вот пакет оракловый:
- Код: Выделить всё
create or replace package CUST as
--
type t_set_tbl is ref cursor;
function getint return integer;
procedure GETCLIENTINFO (t_set out t_set_tbl);
--
end CUST;
/
create or replace package body CUST as
function getint return integer
is
begin
return(23);
end getint;
procedure GETCLIENTINFO (t_set out t_set_tbl)
is
v_result_set t_set_tbl;
begin
open v_result_set for
select * from emp;
--
t_set:=v_result_set;
end GETCLIENTINFO;
--
end CUST;
/
а вот вызов:
- Код: Выделить всё
SQL = "{call cust.getclientinfo({resultset 9, t_set})}"
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = CN_ORA
cmd.CommandTimeout = 20
cmd.CommandType = adCmdText
cmd.CommandText = SQL
set rs=cmd.execute
а вот ответ:
[-2147217900 'ORA-06550: Строка 1, столбец 35:
PLS-00201: идентификатор 'T_SET' должен быть объявлен
ORA-06550: Строка 1, столбец 7:
PL/SQL: Statement ignored']
Есть у кого какие идеи?