更新游标当前的数据,始终提示出错。_MSSQL_编程问答

更新游标当前的数据,始终提示出错。

来源:互联网  时间:2018/1/23 0:50:03

关于网友提出的“ 更新游标当前的数据,始终提示出错。”问题疑问,本网通过在网上对“ 更新游标当前的数据,始终提示出错。”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 更新游标当前的数据,始终提示出错。

解决方案1:

sqlserver 临时表 变量表那么好用的何必用游标。

  • (2)提示错误:当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。

解决方案2:

你的代码没问题,可能哪里有无效字符,如中文空格之类的,另外如果单实现你要的效果,不需要用光标,你先这么处理根本就是高级语言的思路,不算数据库思路
你只要用一条语句就行了


UPDATE score set sscore=60.0 WHERE sscore<60

  • 在线访谈:解决jQuery异步获取数据,客户端始终不更新的问题

解决方案3:

我这样测试着也可以,你试试

--测试数据
if not object_id(N'Tempdb..#T') is null
    drop table #T
Go
Create table #T([sid] int,[sscore] int)
Insert #T
select 1,80 union all
select 2,60 union all
select 3,50
Go
--测试数据结束
DECLARE my_cursor CURSOR
FOR
    SELECT  *
    FROM    #T FOR UPDATE
DECLARE @id NCHAR(10)
DECLARE @score FLOAT
OPEN my_cursor
FETCH NEXT FROM my_cursor INTO @id, @score
WHILE @@FETCH_STATUS = 0
    BEGIN
        IF ( @score < 60 )
            UPDATE  #T
            SET     sscore = 60.0
            WHERE CURRENT OF my_cursor
        FETCH NEXT FROM my_cursor INTO @id, @score
    END
close my_cursor
deallocate my_cursor
SELECT * FROM #T

 更新游标当前的数据,始终提示出错。

  • jQuery弹出层始终垂直居中,相对于屏幕,相对于当前窗口

解决方案4:

检查了没语法错误,估计是你自己那里出问题了
这个需求一句update 就可以搞定,没必要用游标的
UPDATE score set sscore=60.0 where score < 60

  • 利用游标遍历数据表或者数据集

解决方案5:

游标一定比自己用临时表或表变量的实现效率低?????

  • 无线传感器网络测量数据出错

解决方案6:

不用游标,效率太低,试试这样

--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([sid] int,[sscore] int)
Insert #T
select 1,80 union all
select 2,60 union all
select 3,50
Go
--测试数据结束
UPDATE #T SET sscore=60 WHERE sscore<60
SELECT * FROM #T

 更新游标当前的数据,始终提示出错。
  • "Windows Update 时提示当前无法检查更新,因为未运行服务"解决办法

上一篇再问一个复杂的SQL问题,谢谢大家!
下一篇用存储过程建一个报表(sql server的),刚入行的新手,麻烦大神帮帮忙做一下
明星图片
相关文章
《 更新游标当前的数据,始终提示出错。》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)