快速为有数据的表添加主键

最近在工作中遇到一个问题,面对一个有上百万数据的表如何给他添加主键,有这种问题的往往是在业务初期建表是忘记了设置主键,等到系统在正式库上跑了一段时间之后,表中添加了大量的数据,这个时候想要给表添加主键时就会遇到这个问题,

面对这个问题我们可以借助oracle中的序列,代码如下:

update tablename d

set d.f_id = to_char(sysdate,'yyyymmdd') || lpad(sequence_name.Nextval,8,'0');

'8'和'0'代表我新建的序列是8位,如果不够8位用'0'填充

猜你喜欢

转载自www.cnblogs.com/wangjp-1233/p/10114887.html