如何利用UPDATE修改多条重复纪录中的一条?高分诚聘

以前的大菠萝 2006-05-16 02:59:13
如题,在SQLServer2000中,有多条完全重复纪录,不允许删除,而且只允许更新其中一条中的值。
例如:
id name age
1 tom 28
1 tom 28
1 tom 28
更新其中一条,变为以下纪录:
id name age
1 jack 30
1 tom 28
1 tom 28
...全文
1004 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
rjj111111 2006-05-17
  • 打赏
  • 举报
回复
表设计好象有点问题!设个主键列区分一下试试!再说以这样的表做项目即使后面有区分你认为有意思吗?
把ID设为主键试试!
qiyun996 2006-05-17
  • 打赏
  • 举报
回复
server 2000 不可以达到要求。 因为键值重复。重复的三条记录有何意义,只能是出错。
出这问题真是闲的无聊
qing7911 2006-05-17
  • 打赏
  • 举报
回复
select top 1 * from 表 where id='1'

rs(字段)=****
rs.update


这样就只更新一条了
wls12342004 2006-05-17
  • 打赏
  • 举报
回复
update table set *=* where *=* and rownum<=1;
danjiewu 2006-05-17
  • 打赏
  • 举报
回复
设计这个表的人应该拉出去枪毙……
葫芦的世界 2006-05-17
  • 打赏
  • 举报
回复
market.asp
byyt 2006-05-16
  • 打赏
  • 举报
回复
慢慢来吧~~什么时候想起来了在结一样的~~
以前的大菠萝 2006-05-16
  • 打赏
  • 举报
回复
rs.open "select * from table where id=1"),conn,3,3
rs("name")="jack"
rs("age")="30"
rs.update
rs.close
可以,在RecordSet中,只更新游标所指纪录
update tab set age=2431,name='nnn' where id in(select top 1 id from tab where name='tom')
不可以,所有重复的id都在select的记录集中,所以无效

郁闷中。。。。。
我结不了贴,靠
跟网速也有关系吗?
竹林听雨2005 2006-05-16
  • 打赏
  • 举报
回复
呵呵 
进来凑热闹
Agulado 2006-05-16
  • 打赏
  • 举报
回复
rs.open "select * from table where id=1"),conn,3,3
rs("name")="jack"
rs("age")="30"
rs.update
rs.close

这是我写的,我第一行,多了一个),不知道cqq(脑电波) 发现没啊。
cqq 2006-05-16
  • 打赏
  • 举报
回复
可我就是不行啊,奇怪, 楼主说试验可以,我这里怎么就不可以
byyt 2006-05-16
  • 打赏
  • 举报
回复
不可能出错。 楼主自己测试一下就知道了。
cqq 2006-05-16
  • 打赏
  • 举报
回复
大家试验了吗?  

我刚试验了一下, 都不行的


update tab set age=2431,name='nnn' where id in(select top 1 id from tab where name='tom')



rs.open "select * from table where id=1"),conn,3,3
rs("name")="jack"
rs("age")="30"
rs.update
rs.close
byyt 2006-05-16
  • 打赏
  • 举报
回复
貌似 楼主的表是有问题的~~~

-_-!
Agulado 2006-05-16
  • 打赏
  • 举报
回复
行吗?试了吗?

建议lz以后建表,一定要有个主码。基本的规范。省得日后麻烦。
byyt 2006-05-16
  • 打赏
  • 举报
回复
用sql server的话 select top 1....
wanghui0380 2006-05-16
  • 打赏
  • 举报
回复
不循环就只更新第一条,这个是解决办法

不过,困惑中!你的表里没有主键??
cqq 2006-05-16
  • 打赏
  • 举报
回复
再问一下,那sql语句怎么做呀?
byyt 2006-05-16
  • 打赏
  • 举报
回复
不用存储过程,在asp 中更新rs里的所有记录是要用
while not (rs.bof or rs.eof)
.....
rs.movenext
wend

不用movenext的话,游标是不会往下走的。
cqq 2006-05-16
  • 打赏
  • 举报
回复
既然已经试验,就知道了,多谢,呵呵
加载更多回复(19)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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