注册 登录
编程论坛 SQL Server论坛

關於游標的定義

rgbtdkjcel 发布于 2009-08-24 11:56, 697 次点击
declare adm cursor
for select * from tableone order by cid
for update of name
open adm
   declare @a int,@b int
  set @a=1
 select @b=count(*) from tableone
 fetch next from adm
 while @@fetch_status=0
  begin
     update tableone set name=@a where current of adm
    set @a=@a+1
fetch next from adm
 end
 close adm
 deallocate adm


上述定義了一個更新游標,但是。執行後,提示:

Server: Msg 16957, Level 16, State 4, Line 2
FOR UPDATE cannot be specified on a READ ONLY cursor.


請問是什麼原因呢??
2 回复
#2
lyroge2009-08-25 13:43
你的在定义游标的时候加上dynamic,如:
declare adm cursor dynamic
#3
rgbtdkjcel2009-08-26 10:17
暈!加上這個dynamic關鍵後,還是提示一樣!
1