sql >> Databasteknik >  >> RDS >> Oracle

Kopiera en rad i samma tabell utan att behöva skriva de 50+ kolumnnamnen (medan du byter 2 kolumner)

Det kanske inte är mycket mindre utförligt, men denna PL/SQL är ett alternativ:

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;


  1. Lagrad procedur i Oracle-exempel med IN OUT-parameter

  2. sql grupp efter kontra distinkt

  3. Skapa ett index på en enorm MySQL-produktionstabell utan tabelllåsning

  4. Det går inte att ansluta PostgreSQL till fjärrdatabas med pgAdmin