create or replace procedure P_SiteBissusSumStat(ACenterID varchar2,--网点营业统计报表
ABeginDate varchar2,
AEndDate varchar2,
ErrString out varchar2,
RetValue out integer,
v_cur out MyPKG_public.Cursor_Ref)
-----------------------------------------------------------------------------------------
DECLARE
RetValue NUMBER(4);
ErrString VARCHAR2(100);
v_cur MyPKG_public.Cursor_Ref;
begincall P_SiteBissusSumStat('76901',--网点营业统计报表
'2012-3-7',
'2012-3-7',
ErrString,
RetValue,
v_cur)
end ;
上面这样写不行,在Pl/sql中执行,这个又是什么类型呢?MyPKG_public.Cursor_Ref
ABeginDate varchar2,
AEndDate varchar2,
ErrString out varchar2,
RetValue out integer,
v_cur out MyPKG_public.Cursor_Ref)
-----------------------------------------------------------------------------------------
DECLARE
RetValue NUMBER(4);
ErrString VARCHAR2(100);
v_cur MyPKG_public.Cursor_Ref;
begincall P_SiteBissusSumStat('76901',--网点营业统计报表
'2012-3-7',
'2012-3-7',
ErrString,
RetValue,
v_cur)
end ;
上面这样写不行,在Pl/sql中执行,这个又是什么类型呢?MyPKG_public.Cursor_Ref
exec P_SiteBissusSumStat('76901','2012-3-7','2012-3-7')MyPKG_public.Cursor_Ref 应该返回游标结果集。
RetValue NUMBER(4);
ErrString VARCHAR2(100);
v_cur MyPKG_public.Cursor_Ref;
beginP_SiteBissusSumStat('76901',--网点营业统计报表
'2012-3-7',
'2012-3-7',
ErrString,
RetValue,
v_cur)
end ;
在begin和end中间 可以直接使用 不用加call 因为begin块内本身就相当于一个过程
DECLARE
RetValue NUMBER(4);
ErrString VARCHAR2(100);
v_cur MyPKG_public.Cursor_Ref;
beginP_SiteBissusSumStat('76901',--网点营业统计报表
'2012-3-7',
'2012-3-7',
ErrString,
RetValue,
v_cur)
;
end ; 你的;后没加上。
在COMMAND 窗口中 先定义输出变量 如:variable o_iSqlcode NUMBER ;
variable o_sSqlMsg VARCHAR2(255) ;
variable o_sAction VARCHAR2(255) ;
variable o_tProcDate VARCHAR2(255) ;
然后再CALL PROC_NAME;CALL不是在SQL 窗口中调用的e