日期:2014-05-17  浏览次数:20664 次

数据库空列赋值
我的数据库中有一列因为程序bug出现部分列值为null,能否在数据库中使用sql语句将空列赋值,比如我原来有5列数据,其中三列为1,2,3,还有两列为null,能不能实现用sql语句实现剩余两列的值设为4,5,因为这列是用于关键字查询的,所以得这样,麻烦大神看看咯!(实际数据量较大,不能一步一步来,最好一步到位)
------解决方案--------------------
如果是2005及以后的版本,可以用这个试试:

;with t
as
(
select *,
       t.c,
       row_number() over(order by 列 ) rownum
from 表
cross join 
(
select MAX(列) as c
from 表
)t
where 列 is null
)

update t
set 列 = c+ rownum