游标错误?该怎么解决?

cl007 2001-06-26 02:34:28
declare cursor must be the only statemant in a query batch?

语句如下:

string medicine_id
declare cc cursor for
select medicine_id
from common_medicine_dict
where mid_to_small = 10;
open cc;
fetch cc into medicine_id
do while sqlca.sqlcode = 0
insert into yf_store_amount(drugstore_id,medicine_id,medicine_spec,medicine_serial_noint,medicine_amount,medicine_amount_small)
values("52",:medicine_id,"测试用规格","1",100,0)
fetch cc into :medicine_id
loop

close cc;

...全文
173 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
meteor_wyj 2001-06-26
  • 打赏
  • 举报
回复
你给我记住,发生COMMIT or ROOLBACK会关闭游标。
caolei1974 2001-06-26
  • 打赏
  • 举报
回复
同意zhuzhichao(竹之草) 
zhuzhichao 2001-06-26
  • 打赏
  • 举报
回复
ISQL是不是SQLServer的Query Analyzer呀,
如果是的話,那它不會認string的.
你可以這樣:
declare medicine_id varchar(12)
cl007 2001-06-26
  • 打赏
  • 举报
回复
string medicine_id

declare cc cursor for
select medicine_id
from common_medicine_dict
where mid_to_small=10;

open cc;
fetch cc into :medicine_id;
do while sqlca.sqlcode = 0

insert into yf_store_amount(drugstore_id,medicine_id,medicine_spec,medicine_serial_noint,medicine_amount,medicine_amount_small)
values("52",:medicine_id,"测试用规格","111",10000,0);

FETCH cc into :medicine_id;
loop
close cc;

我在isql中执行不行,但我把她在程序中执行却很正确,为什么?ISQL连string都不认啊!
tanye 2001-06-26
  • 打赏
  • 举报
回复
同样:
insert into yf_store_amount(drugstore_id,medicine_id,medicine_spec,medicine_serial_noint,medicine_amount,medicine_amount_small)
values("52",:medicine_id,"测试用规格","1",100,0)
tanye 2001-06-26
  • 打赏
  • 举报
回复
错误:
fetch cc into medicine_id
应该为:
fetch cc into medicine_id;
提示:在执行数据库SQL语句时一定要以";"分号结束
zhuzhichao 2001-06-26
  • 打赏
  • 举报
回复
什麼提示

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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