假设一个表有两个字段id,inum。
数据如下:
1 1
2 null
3 2
4 null
5 3
6 4
7 null
如果想更新inum字段。得到如下结果:
1 1
2 5
3 2
4 6
5 3
6 4
7 7
应该如何解决?(将要更新的记录条数很多)
数据如下:
1 1
2 null
3 2
4 null
5 3
6 4
7 null
如果想更新inum字段。得到如下结果:
1 1
2 5
3 2
4 6
5 3
6 4
7 7
应该如何解决?(将要更新的记录条数很多)
insert test(inum) select 1
insert test(inum) select null
insert test(inum) select 2
insert test(inum) select null
insert test(inum) select 3
insert test(inum) select 4
insert test(inum) select null
--select * from testbegin tran
declare @i int
select @i=(select max(inum) from test)
--select @i update test set inum=@i,@i=@i+1 where inum is null select * from test
rollback trandrop table test
set @i=(select max(inum) from table)
update table
set @i=@i+1,inum = @i
where inum is null
update test set inum=@i,@i=@i+1 where inum is null
->
update test set @i=@i+1,inum=@i where inum is null
姓义的哥们:
这句绝!
感谢各位捧场!