0

我目前有一张有很多行的表,但根本没有 PK。我现在要求每一行都有一个唯一的、非空的、> 0 PK。

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

任何方法、单个 SQL 行或一条 SQL 行与行一​​样多次执行对我来说已经足够了。

4

2 回答 2

1

就像是

update sometable set newkeyfield = Row_Number() Over();

不应该做一个 DB2 家伙,但应该很接近。

于 2013-06-28T11:24:44.467 回答
0

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

CREATE SEQUENCE mySeq as int;

您可以使用序列引用一步检索和递增序列

NEXT VALUE FOR mySeq

您的表达式可以在 INSERT、UPDATE 或 MERGE 或大多数可以使用表达式的地方使用它。

于 2013-06-30T01:04:42.223 回答