我目前有一张有很多行的表,但根本没有 PK。我现在要求每一行都有一个唯一的、非空的、> 0 PK。
我为 PK 创建了列,但是如何快速填充从 1 开始的增量值?
任何方法、单个 SQL 行或一条 SQL 行与行一样多次执行对我来说已经足够了。
就像是
update sometable set newkeyfield = Row_Number() Over();
不应该做一个 DB2 家伙,但应该很接近。
尝试使用 DB2 Sequence 对象。它们旨在创建独特的数字序列。选择您的数据类型。
CREATE SEQUENCE mySeq as int;
您可以使用序列引用一步检索和递增序列
NEXT VALUE FOR mySeq
您的表达式可以在 INSERT、UPDATE 或 MERGE 或大多数可以使用表达式的地方使用它。