关于游标定义问题?

twenty 2004-03-01 12:54:05
存储过程:
CREATE proc kfly
(
@kbm nvarchar(20),
@sbm nvarchar(50),
@sl int,
@rq smalldatetime,
@dd nvarchar(2)
-- @retmsg char(30) output
)
as
declare @tmp0 int , @tmp1 int ,@tmp2 int
declare zkrst cursor scroll keyset scroll_locks for select sz_sy,sz_dj from kfsbzk where sz_sbm=@sbm and sz_dd=@dd and sz_sy > 0 order by sz_jkrq,sz_dj for update
begin transaction
update kfsbkc set sk_sl=sk_sl-@sl where sk_sbm=@sbm
if @@error <> 0
begin
--select @retmsg="修改库存表kfsbkc出错!"
rollback tran
return
end
delete from kfsbkc where sk_sl=0
if @@error <> 0
begin
--select @retmsg="清理表kfsbkc出错!"
rollback tran
return
end
open zkrst
fetch next from zkrst into @tmp0,@tmp1
if @@fetch_status <>0
begin
-- select "jjjjjjjjjjjjjjjjjjj"
rollback tran
return
end
while (@@fetch_status <> -1 )
begin
while ( @sl > 0)
begin
if @tmp0 >= @sl
begin
insert into kfsbly (sl_kbm,sl_sbm,sl_sl,sl_rq,sl_bf,sl_db,sl_gh,sl_dj,sl_dd) values ( @kbm,@sbm,@sl,@rq,0,0,0,@tmp1,@dd)
if @@error <> 0
begin
-- select @retmsg="入表kfsbly出错!"
rollback tran
return
end
select @tmp0 = @tmp0 - @sl
update kfsbzk set sz_sl=@tmp0 where current of zkrst
if @@error <> 0
begin
-- select @retmsg="修改总训出错"
rollback tran
return
end
end
else
begin
insert into kfsbly (sl_kbm,sl_sbm,sl_sl,sl_rq,sl_bf,sl_db,sl_gh,sl_dj,sl_dd) values ( @kbm,@sbm,@sl,@rq,0,0,0,@tmp1,@dd)
if @@error <> 0
begin
-- select @retmsg="入表kfsbly出错!"
rollback tran
return
end
select @sl= @sl - @tmp0
select @tmp0=0
update kfsbzk set sz_sl=@tmp0 where current of zkrst
if @@error <> 0
begin
-- select @retmsg="修改总训出错"
rollback tran
return
end
fetch next from zkrst into @tmp0,@tmp1
end
end
end
update kbm set kb_ly=kb_ly+1 where kb_kbm = @kbm
if @@error <> 0
begin
-- select @retmsg="修改KBM训出错"
rollback tran
return
end
update kbm set kb_ly=0 where kb_ly >= 20 and kb_kbm=@kbm
if @@error <> 0
begin
-- select @retmsg="修改KBM训出错"
rollback tran
return
end
commit tran
if @@error <> 0
begin

--select @retmsg= "提交事务错!"
rollback tran
return
end
GO

当执行exec kfly '飞奔','4450587805',9,'2004-02-25','九楼'时提示游标类型为read only,不能使用update,why?????
登录用户:sa
...全文
46 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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