--try declare @i int set @i=-1 update @t set number=number+@i,@i=@i+1 from @t a where a.code<=code
update testtable set number= code+cast(number as int)
-- 这句也行 update @t set number= code-1+cast(number as int)
update testtable set number= code-1+cast(number as int)
update t set number=convert(varchar,(1000+(select count(1) from 表 where code<t.code))) from 表 t
update 有循环的作用吗?我不是很明白,为什么可以递增1.而没有用循环语句。
create table ttt(code int,number varchar(5)) insert into ttt select 1,1000 union all select 2,1000 union all select 3,1000 update ttt set number= convert(varchar,cast(number as int)+code-1) from ttt結果: code number ----------- ------ 1 1000 2 1001 3 1002
declare @i int
set @i=-1
update @t set number=number+@i,@i=@i+1 from @t a where a.code<=code
update @t set number= code-1+cast(number as int)
set number=convert(varchar,(1000+(select count(1) from 表 where code<t.code)))
from 表 t
insert into ttt
select 1,1000 union all
select 2,1000 union all
select 3,1000 update ttt set number= convert(varchar,cast(number as int)+code-1) from ttt結果:
code number
----------- ------
1 1000
2 1001
3 1002