Oracle
 sql >> Base de données >  >> RDS >> Oracle

Copier une ligne dans le même tableau sans avoir à saisir plus de 50 noms de colonnes (tout en modifiant 2 colonnes)

Eh bien, ce n'est peut-être pas beaucoup moins verbeux, mais ce PL/SQL est une 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;