Prima selezionare questo sql, ha scelto la riga della tabella da sql result e ha cambiato il nome della tabella di destinazione o di origine. Se le tabelle hanno le stesse colonne (lo stesso ordine non è necessario) funzionerà.
with xparams as ( select (select user from dual) "OWNER", '' "ADDSTRTOFROMTABLENAME" from dual )
,t1 as ( SELECT dbat.table_name from dba_tables dbat, xparams where dbat.owner = xparams.OWNER)
,t1c1 as ( SELECT utcs.table_name , LISTAGG(utcs.column_name,',') within group (order by utcs.column_name) "COLS" from USER_TAB_COLUMNS utcs, t1 where utcs.table_name = t1.table_name group by utcs.table_name)
,res1 as (SELECT 'insert into '|| t1c1.table_name || ' ('|| t1c1.COLS ||') select '|| t1c1.COLS || ' from ' || t1c1.table_name||xparams.ADDSTRTOFROMTABLENAME ||';' "RES" from t1c1, xparams order by t1c1.table_name)
select * from res1
ho bisogno di saltare una colonna (quella che è l'identità chiave primaria) –