ORACLE存储过程执行错误

dabaishu730 2012-07-09 04:15:43

create or replace
PROCEDURE DIM_TIME_PROC(
start_date IN VARCHAR2,
end_date IN VARCHAR2
)
AS
--定义变量
begin_time DATE; --开始时间
end_time DATE; --结束时间
dim_date DATE; --中间变量
--i NUMBER; --计数器
date_flag NUMBER; --会计区间值 本例取15 天
--vs_msg VARCHAR2(4000); --错误信息变量
--fmon_type VARCHAR2(20); --财务月类型
BEGIN
--fmon_type = FMONTH_TYPE;
begin_time := to_date(start_date,'yyyymmdd');
end_time := to_date(end_date,'yyyymmdd');
date_flag := to_number(end_time - begin_time);
IF date_flag < 0 THEN
BEGIN
dbms_output.put_line('输入有误,结束日期必须大于开始日期,请重新输入');
END;

ELSE
BEGIN
dim_date := begin_time;
while end_time >= begin_time
LOOP
BEGIN
INSERT INTO dim_time(
DAYKEY )
VALUES(
to_char(dim_date,'yyyymmdd'));
dim_date := dim_date + 1;
END;
end loop;
END;
END IF;
END DIM_TIME_PROC;


错误:


ORA-06550: 第 1 行, 第 7 列:
PLS-00103: 出现符号 "PROCEDURE"在需要下列之一时:
( begin
case declare exit for goto if loop mod null pragma raise
return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
continue close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe purge
符号 "PROCEDURE" 被忽略。
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
编译没有错 执行的时候出错,可能是逻辑上有问题吧,小弟菜鸟级别的...请各位高手指点.
...全文
463 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
toy44321 2012-07-10
  • 打赏
  • 举报
回复
貌似不是 过程的问题,我把那段代码放在SQL*PLUS里执行成功了的,可能是sql developer 设置的问题吧?。。
dabaishu730 2012-07-10
  • 打赏
  • 举报
回复
在线等高手...
dabaishu730 2012-07-09
  • 打赏
  • 举报
回复
刚刚发现一个问题 执行这个过程要报错,但是用SQLDEVELOPER的"运行该脚本"按钮 过段时间 表里就会有数据了 这是怎么回事呢 求高手指点。。。
dabaishu730 2012-07-09
  • 打赏
  • 举报
回复
谢谢 zhangandli 你说的这个是一个问题,我这个过程的目的就是为了求从开始日期到结束日期的每一天的日期 并把他插入dim_time表里,但是我按照你说的改了之后还是有一样的问题。
人生无悔 2012-07-09
  • 打赏
  • 举报
回复

--你寫了個死循環
while end_time >= begin_time
--應改為
while end_time >= dim_date


改後調用試下:exec DIM_TIME_PROC ('20500101','20500103')

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧