create table AY_AGENT_LOG (
AY_LOG_ID INTEGER not null,
AY_BEGIN_TIME DATE,
AY_PICKUP_TIME DATE,
AY_END_TIME DATE
)//建表
create or replace package package_tel as Type cursor_tel is ref cursor;
end package_tel;
create or replace procedure pro_tel(begintime out number,endtime number,tel out number)
as
tel out package_tel.cursor_tel;
v_cou number:=(begintime-endtime)/60*12*1000;
v_i number:=0;
tmp_time date;
begin
tmp_time:=begintime;
loop
exit when v_i>=v_cou;
open cursor_tel for select count(*) from ay_agent_log where ay_begin_time=tmp_time;
v_i:=v_i+1;
tmp_time:=tmp_time+5*60*1000;
end loop;
end;//建包 建存储过程
报错是这样的
SQL> show error
Errors for PROCEDURE IMSMON.PRO_TEL:
 
LINE/COL ERROR
-------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3/9      PLS-00103: Encountered the symbol "PACKAGE_TEL" when expecting one of the following:       := . ( @ % ; not null range default character  The symbol ":=" was substituted for "PACKAGE_TEL" to continue.  
 麻烦大家帮我看看什么错误啊

解决方案 »

  1.   


    --第一你的输入参数里面有一个 tel,程序里面怎么又出来一个tel 还有一个out
    ----in out 是存储过程参数类型,程序里面怎么能出来呢--第二 open cur for sql语句,是返回游标变量,怎么可能 循环着返回
    ----循环返回只能返回循环结束时的最后一次结果,每次循环都会覆盖前面的结果---错误不是一个,再加上不了解你的业务需求,没有办法帮你改。