求一SQL update set语句。
列名是name此列里面的字符不能重复。现在里面有1000多个不重复数据求一个语句把把name里面的数据改成1-1000排列。。感谢!!!...
列名是name
此列里面的字符不能重复。
现在里面有1000多个不重复数据
求一个语句把把name里面的数据改成1-1000 排列。。
感谢!!! 展开
此列里面的字符不能重复。
现在里面有1000多个不重复数据
求一个语句把把name里面的数据改成1-1000 排列。。
感谢!!! 展开
展开全部
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:表名是你要更新的那个表的名称
(
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:表名是你要更新的那个表的名称
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用下面的语句 先为你的表增加一个自动增加1的字段id吧
CREATE TABLE tablename id int IDENTITY (1, 1) NOT NULL ,
fielda varchar (50) , fieldb decimal (12, 4)
然后就简单了
update tablename set name=id
CREATE TABLE tablename id int IDENTITY (1, 1) NOT NULL ,
fielda varchar (50) , fieldb decimal (12, 4)
然后就简单了
update tablename set name=id
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询