写错个字母:“bc_record bc_sursor%rowtype;”
改成:“bc_record bc_cursor%rowtype;”
改成:“bc_record bc_cursor%rowtype;”
解决方案 »
- 求一个查询语句。
- oracle的序列问题
- job 来定时执行存储过程
- 用Pl/Sql developer 本地连接远程64位10g数据库,操作系统为winserver2003,执行select * from 有数据表时一直卡在execute状态?
- 请教大家一个问题感觉很诡异
- 数据库崩溃恢复后报错:ORA-01086 savepoint 'beginaction' never established
- 如何提高oracle的效率问题
- Oracle中的自动增量值如何恢复使之同步??急!在线等待!一定给分!
- 优化数据库配置!
- 有谁会PSP(PL/SQL PAGE)啊?我有问题请教。
- 怎样在客户端连接服务器端的oracle数据库
- 如何分组排序并产生序号,重点是产生序号,多谢。
请再show error看看具体错误
-------- -----------------------------------------------------------------
28/17 PLS-00103: 出现符号 "LSH"在需要下列之一时:
:= . ( @ % ;
符号 ":=" 被替换为 "LSH" 后继续。28/38 PLS-00103: 出现符号 "THEN"在需要下列之一时:
. ( * @ % & - + ; / at mod
rem <an exponent (**)> and or ||36/6 PLS-00103: 出现符号 "END"
2.没有elseif ,有elsif
lsh:=lsh+1;
if lsh<>fh_record.posseq then
if isok then
insert into t_bcqq values(fh_record.rowid,'noposid',lsh+1,lsh+1,'0',fh_record.posid,'0');
isok:=false;
end if;
elseif lsh=fh_record.posseq then
if not isok then
update t_bcqq set END_POSSEQ=lsh+1 where posid=fh_record.posid;
isok:=true;
end if;
else
dbms_output.put_line('异常出错');
end if;
end LOOP;
换成
elsif lsh=fh_record.posseq then SQL没有elseif,我曾经遇到过这个问题;
有些参考书上有错误(用elseif语句),容易给人造成误解!