During my job, I usually have to copy rows while changing their primary key and giving them a new stamp and maybe changing the foreign key.
The problem is I don\'t want
Well it may not be much less verbose, but this PL/SQL is an option:
begin for r in (select * from table_name where pk_id = 'original_primary_key') loop r.pk := pk_seq.nextval; r.fk := 'foreign-key'; insert into table_name values r; end loop; end;