Copying a row in the same table without having to type the 50+ column names (while changing 2 columns)

后端 未结 6 762
青春惊慌失措
青春惊慌失措 2021-01-31 09:35

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

6条回答
  •  醉梦人生
    2021-01-31 09:56

    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;
    

提交回复
热议问题