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

oracle 如何修改列递增,在线等...
在table A 中,数据排列如下:
1 aa xx cc
2 zz ee ee
3 vv bb ww
4 tc ev bb
5 33 55 66
..........
如果有人删除2和4行后
会出现
1 aa xx cc
3 vv bb ww
5 33 55 66
..........
如何修改为
1 aa xx cc
2 vv bb ww
3 33 55 66
..........

也就是说,如何将列值修改成递增,中间不留空行

------解决方案--------------------
如果你的表中数据很少,可以删除后在更新,或者用触发器.
如果表中数据少,从性能角度不建议你把序号和数据存储在同一个位置.表中数据很多,你删除一条数据会要全表更新,程序的性能不可能好.这种情况,在表中只存储排序数字,不考虑其连续性,然后再需要的时候计算序号.