declare mycur cursor for
select MemberID,Name,Title from ra_bgBlog
open mycurDECLARE @MemberID int, @Name varchar(100),@title varchar(100)declare @n int
@n=10fetch next from mycur
INTO @MemberID, @Name,@title
WHILE @@FETCH_STATUS = 0
beginUpdate ra_bgBlog set MemberID=@MemberID,Name=@Name,Title=@title where ID=@n@n=@n+1
fetch next from mycur
INTO @MemberID, @Name,@titleend
close mycur
select MemberID,Name,Title from ra_bgBlog
open mycurDECLARE @MemberID int, @Name varchar(100),@title varchar(100)declare @n int
@n=10fetch next from mycur
INTO @MemberID, @Name,@title
WHILE @@FETCH_STATUS = 0
beginUpdate ra_bgBlog set MemberID=@MemberID,Name=@Name,Title=@title where ID=@n@n=@n+1
fetch next from mycur
INTO @MemberID, @Name,@titleend
close mycur
set @n=@n+1我加了SEt 也没用啊
最好是定义个SQL语句
用EXEC(@SQL)的形式给楼主一个建议
你的SQL写的很乱,最好写的规范一点
别到处定义
这也是我第一天上班主管教训的
set @n=10
set @n=@n+1 Update ra_bgBlog set MemberID=@MemberID,Name=@Name,Title=@title where ID=Ltrim(@n) close mycur
deallocate mycur --加个重新分配游标
或者是一部发更新了,一部分没有更新。declare mycur cursor for
select MemberID,Name,Title from ra_bgBlog 你建的这个游标后面连条件都没有,如果你的ra_bgBlog表有几万条语句,想想你的这个游标要更新多少次呢?Update ra_bgBlog set MemberID=@MemberID,Name=@Name,Title=@title where ID=@n
Set @n = 10
看了你的那条语句,好像是要前十以下的所有的数据进行更新,看看下面这条可不可以呢?
update ra_bgBlog set MemberID=a.MemberID,Name=a.Name,Title=a.Title from(
select MemberId,Name,Title from ra_bgBlog
) as a
where Id > 10