Je choisirais :
select 'select ' || LISTAGG(column_name , ',') within group (order by column_id) || ' from T1'
from user_tab_columns
where table_name = 'T1';
pour obtenir une requête de la base de données. Pour obtenir des colonnes avec des types pour remplir la carte, vous pouvez simplement utiliser :
select column_name , data_type
from user_tab_columns
where table_name = 'T1';