使用游标修改当前记录值,而不是所有的

CPPACE 2010-04-01 05:14:54
我在MSSql游标里使用了修改字段值的语句
update users set [_name]=@_name
本来是想让他修改当前记录的值,结果修改了表中所有的记录值,这样,表中_name字段就是相同值了(最后一次修改的值)

如何使用游标修改当前记录的字段值呢?而不是修改所有的记录。
...全文
201 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
CPPACE 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 foren_whb 的回复:]
引用 6 楼 cppace 的回复:
可是我很想学习下用游标怎么做....

1〉游标可以在声明的时候,指定那些列可以修改,不指定,就当时只读游标,不能进行修改操作。
2〉修改的语法:
update tb
set col_Name = 'xxx'
where current of cursor_name
[/Quote]太好了
丰云 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cppace 的回复:]
可是我很想学习下用游标怎么做....
[/Quote]
1〉游标可以在声明的时候,指定那些列可以修改,不指定,就当时只读游标,不能进行修改操作。
2〉修改的语法:
update tb
set col_Name = 'xxx'
where current of cursor_name
CPPACE 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fuda_1985 的回复:]
个人认为你的描述,没必要使用游标了。有什么意义啊?
[/Quote]不同的记录里面,_name是不一样的,我通过@name为_name赋值

如果 符合条件 @name='一'
如果 符合条件 @name='二'
如果 符合条件 @name='三'
如果 符合条件 @name='四'

大概列举了100个,你提醒我了,可以使用update where 列举100多次,也一样的。这样可以不用游标了


可是我很想学习下用游标怎么做,毕竟做了1一个小时,不想再重新做了
丰云 2010-04-01
  • 打赏
  • 举报
回复
游标有不同类型的,
你声明的什么游标?
能做修改操作吗?
fuda_1985 2010-04-01
  • 打赏
  • 举报
回复
个人认为你的描述,没必要使用游标了。有什么意义啊?
CPPACE 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 foren_whb 的回复:]
set [_name]=@_name
[/Quote]提示我_name附近有语法错误
CPPACE 2010-04-01
  • 打赏
  • 举报
回复
我知道一种方法,就是update users set [_name]=@_name加条件,如下
update users set [_name]=@_name where [_id]=@_id

这样应该是可以的,但好像很多余,明明要修改当前游标处的值,为什么还要执行查询语句呢?
丰云 2010-04-01
  • 打赏
  • 举报
回复
set [_name]=@_name

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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