求一SQL update set语句。

列名是name此列里面的字符不能重复。现在里面有1000多个不重复数据求一个语句把把name里面的数据改成1-1000排列。。感谢!!!... 列名是name
此列里面的字符不能重复。
现在里面有1000多个不重复数据
求一个语句把把name里面的数据改成1-1000 排列。。
感谢!!!
展开
 我来答
Wang_Jiping
2008-12-09 · TA获得超过675个赞
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:250万
展开全部
先要理解数据库的更新操作,尤其是逐行更新,应该有一个关键字字段。
可以考虑先增加一个自增的关键字字段,比如叫ID,增加完毕后,这个字段就自动填充了1-1000的值,然后用一个简单的语句更新到name
Update tableName set name=ID
,然后,如果不需要ID的话,可以删除它。
百度网友ecc263c
2008-12-09 · TA获得超过624个赞
知道小有建树答主
回答量:478
采纳率:100%
帮助的人:374万
展开全部
create table #temp
(
id INT IDENTITY,
name char(100)
)

insert into #temp
select name from 表名

declare @sum int
set @sum=(select count(name) from 表名)

while @sum>0
begin
declare @str char(20)
set @str=(select cast((select t1.id from #temp t1,表名 t2 where t1.name=t2.name and t1.id=@sum) as char(20)) )
update 表名 set name=@str
where name=(select t2.name from #temp t1,表名 t2 where t1.name=t2.name and t1.id=@sum)
set @sum=@sum-1
end
drop table #temp

ps:表名是你要更新的那个表的名称
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ajsxxl
2008-12-09 · TA获得超过259个赞
知道小有建树答主
回答量:347
采纳率:0%
帮助的人:419万
展开全部
使用下面的语句 先为你的表增加一个自动增加1的字段id吧
CREATE TABLE tablename id int IDENTITY (1, 1) NOT NULL ,
fielda varchar (50) , fieldb decimal (12, 4)
然后就简单了
update tablename set name=id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式