int である一意の ID 列を持つテーブルがあります。これには必ずしも最大値までのすべての数値が含まれているとは限りません。
そのテーブルからいくつかの既存の行を選択し、それらを最後に追加して 1 つの列のデータを変更する必要があります。各行には新しい ID があり、MAX ID から増分されます。このようなもの:
declare @maxID int;
set @maxID = (select MAX("ID") from "table");
insert into "table"
select @maxID + ROW_NUMBER, 'newData', "col3", "col4"
from "table" where "col2" = 'oldData';
ただし、ここからどこから取得すればよいかわかりません。ROW_NUMBER には、このコンテキストでは正直に理解できない OVER ステートメントが必要です。
何か助けはありますか?