fetch next from问题

wch_212 2011-08-21 09:08:55



create or replace procedure generateLouName(unuse in varchar2) is
tf VARCHAR(50);
zhmi VARCHAR(50);
totazm varchar(5000);
begin
declare cursor curlzhz is select zm,tfqzh from t_lz_hz order by tfqzh;
open curlzhz;
FETCH NEXT FROM curlzhz INTO @zhmi,@tf;

WHILE (@@fetch_status=0)
begin
declare cursor cursyqnew is select l from t_fc_syq_new where substr(fh,1,12)=tf and l<>zhmi;
totazm=totazm+tf;
loop
totazm=totazm','+l;
end loop;
update t_lz_hz set zm=totazm where tfqzh=tf;
commit;
totalzm='';
close cursyqnew;
end;
close curlzhz;
end generateLouName;



PROCEDURE DB_SJCJ.GENERATELOUNAME 编译错误

错误:PLS-00103: 出现符号 "FETCH"在需要下列之一时:
begin function package
pragma procedure subtype type use <an identifier>
<a double-quoted delimited-identifier> form current cursor
行:8
文本:FETCH NEXT FROM curlzhz INTO @zhmi,@tf;


出现这个错误怎么办?
...全文
322 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wch_212 2011-08-24
  • 打赏
  • 举报
回复
……怪不得不好使。
yixilan 2011-08-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 wch_212 的回复:]
create or replace procedure generateLouName(unuse in varchar2) is
tf VARCHAR(50);
zhmi VARCHAR(50);
totazm varchar(5000);
begin
declare cursor curlzhz is select zm,tfqzh……
[/Quote]
几个问题:
1.楼主写的是Oracle的语法还是SQLServer的语法?
2.如果是Oracle的话,下面几处是不对的:
(1)totazm=totazm+tf --> 变量赋值应该用 :=,而不是=;字符串不能用+做拼串,应该用||,所以这句应该是 totazm := totazm || tf
(2)FETCH curlzhz INTO @zhmi, @totazm; -->带@是SQLServer的语法,在ORACLE里INTO的时候,不需要加@
(3) FETCH next FROM --> 这个Next也是SQLServer的用法。
wch_212 2011-08-23
  • 打赏
  • 举报
回复
wch_212 2011-08-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lzd_83 的回复:]

---这个语句应该是有问题的,检查
loop
totazm=totazm','+l;
end loop;
[/Quote]

也不行……


PROCEDURE DB_SJCJ.GENERATELOUNAME 编译错误

错误:PLS-00103: 出现符号 "FETCH"在需要下列之一时:
begin function package
pragma procedure subtype type use <an identifier>
<a double-quoted delimited-identifier> form current cursor
行:8
文本:FETCH NEXT FROM curlzhz INTO @zhmi,@tf;
Rotel-刘志东 2011-08-21
  • 打赏
  • 举报
回复
---这个语句应该是有问题的,检查
loop
totazm=totazm','+l;
end loop;
wch_212 2011-08-21
  • 打赏
  • 举报
回复
……周日,是不行。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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