请问以下过程有哪些错误!!!100分。

luhanzhang 2005-11-27 07:45:13
请问以下过程有哪些错误?

CREATE OR REPLACE PROCEDURE "SYSTEM"."UPDATE_SUBJECTTYPE"
as
cursor signcursor is
select * from system.A;
errormessage exception;
accountrecord system.A%rowtype;
acccountsign varchar2(10);
s number;
accountnumber varchar2(50);

begin
open signcursor;
if signcursor%notfound then
raise errormessage;
end if;
loop
fetch signcursor into accountrecord;
accountnumber :=accountrecord.ACCOUNT_NUMBER;
s := select count(*) from system.A where A.ACCOUNT_NUMBER like accountnumber and ACCOUNT_NUMBER!=accountrecord.ACCOUNT_NUMBER;/*提示有误!*/
if ( s = 0) then
acccountsign:='leaf';
else
acccountsign:='notleaf';
end if;
exit when signcursor%notfound;
update system.A set sign = acccountsign where ACCOUNT_NUMBER =accountrecord.ACCOUNT_NUMBER ;
end loop;
close signcursor;
commit;
end;
...全文
190 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
waterfirer 2005-11-28
  • 打赏
  • 举报
回复
nod
luhanzhang 2005-11-28
  • 打赏
  • 举报
回复
谢谢大家.
查找5040开头的字符串
5040
504001
504002
305040
315040

是不是like '5040%'?
waterfirer 2005-11-28
  • 打赏
  • 举报
回复
like '%' || accountnumber || '%'
luhanzhang 2005-11-27
  • 打赏
  • 举报
回复
like %'||accountnumber||'%语法错误。
hevin 2005-11-27
  • 打赏
  • 举报
回复
like accountnumber 的写法没有错的啊,你的存储过程还报什么错?
lee_billiy 2005-11-27
  • 打赏
  • 举报
回复
用字符串连接:'select count(*) into s from system.A where A.ACCOUNT_NUMBER like %'||accountnumber||'% and ACCOUNT_NUMBER!=accountrecord.ACCOUNT_NUMBER;'
luhanzhang 2005-11-27
  • 打赏
  • 举报
回复
可以, like %accountnumber% 应该如何写才正确?
hevin 2005-11-27
  • 打赏
  • 举报
回复
select count(*) into s from system.A ;
呢?
luhanzhang 2005-11-27
  • 打赏
  • 举报
回复
如果s := select count(*) from system.A ;
也提示有误!

17,086

社区成员

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

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