Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Copiando uma linha na mesma tabela sem precisar digitar os nomes de mais de 50 colunas (ao alterar 2 colunas)


Bem, pode não ser muito menos verboso, mas este PL/SQL é uma opção:
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;