0

現在、多くの行を持つテーブルがありますが、PK はまったくありません。すべての行に対して、一意で null 以外の > 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シーケンス オブジェクトを使用してみてください。それらは、一意の数列を作成するように設計されています。データ型を選択します。

CREATE SEQUENCE mySeq as int;

シーケンス参照を使用して、1 つのステップでシーケンスを取得してインクリメントします

NEXT VALUE FOR mySeq

式は、INSERT、UPDATE、MERGE、または式を使用できるほとんどの場所でこれを使用できます。

于 2013-06-30T01:04:42.223 に答える