Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Kopieren einer Zeile in derselben Tabelle, ohne die über 50 Spaltennamen eingeben zu müssen (während 2 Spalten geändert werden)

Nun, es ist vielleicht nicht viel weniger ausführlich, aber dieses PL/SQL ist eine 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;