为新创建的PK填充增量唯一值

时间:2013-06-28 11:20:23

标签: sql db2

我目前有一个包含许多行的表,但根本没有PK。我现在需要一个唯一的,非null,>每行0 PK。

我已经为PK创建了一个列,但是如何从1开始用增量值快速填充列?

任何方法,单个SQL行或要执行多次行的SQL行对我来说都足够了。

2 个答案:

答案 0 :(得分:1)

这样的东西
update sometable set newkeyfield = Row_Number() Over();

不应该是DB2 bloke,但应该关闭。

答案 1 :(得分:0)

尝试使用DB2 Sequence object。它们旨在创建独特的数字序列。选择您的数据类型。

CREATE SEQUENCE mySeq as int;

使用sequence reference

,您可以一步检索并增加序列
NEXT VALUE FOR mySeq

您可以在INSERT,UPDATE或MERGE中使用此表达式,也可以在大多数地方使用表达式。