请高手看一看,这段代码报错,为什么?

[复制链接]
查看11 | 回复9 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
open mycur for

select count(fnm.fnmc_no) a

from t_task ta,

t_flownodemodelcopyfnm

where ta.prj_id=fnm.prj_idand ta.fnmc_id=fnm.fnmc_idand

ta.prj_id=prjid and fnm.fnmc_no in ( prenodelist)

and ta.ta_appflag=0 ;

loop

fetch mycur into finished;

--完成则更新此节点。

if finished=0 then

update t_task

set ta_expecttime=sysdate+deadline

whereprj_id=prjid and fnmc_id=nextnodenum;

end if;

exit when mycur%notfound;



end loop;

close mycur;

错误信息:
ORA-01722: 无效数字
ORA-06512: 在line 2
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
replace select count(fnm.fnmc_no) a
with select count(fnm.fnmc_no)
and try again!
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
不行。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
这个原因是我的表中数据的问题,代码没有错误,对不起,不是戏弄大家。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
这段代码有出现同样的问题
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
我是完全晕了。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
SQL> insert into a(a5) values ('啊');
insert into a(a5) values ('啊')

*
ERROR 位于第 1 行:
ORA-01722: 无效数字

SQL> select sysdate + '啊' from dual;
select sysdate + '啊' from dual

*
ERROR 位于第 1 行:
ORA-01722: 无效数字
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
加个例外处理跟踪一下。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
begin
.........
exception when others then
dbms_output.put_line(有用的信息);
end;
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
谢谢!确实是不一致的数据类型。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行