使用sql获取目标表字段
 
 
 
  select
 
 
 
   
  owner, table_name, to_char(column_name) AS column_name
 
 
 
   
   from (select c.OWNER,
 
 
 
   
    
    
    
    
    
    
    
  c.TABLE_NAME,
 
 
 
   
    
    
    
    
    
    
    
  listagg(c.COLUMN_name || ' ' || case
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
    
  when nvl(data_scale, 0) != 0 and data_type = 'NUMBER' then
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
    
   data_type || '(' || data_precision || ',' || data_scale || ')'
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
    
  when data_type = 'NUMBER' and data_precision is not null then
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
    
   data_type || '(' || data_precision || ')'  
   
  
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
    
  when data_type = 'NUMBER' and data_precision is null then
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
    
   data_type 
  
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
    
  when data_type = 'VARCHAR2' then
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
    
   data_type || '(' || data_length || ')'  
   
  
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
    
  when data_type = 'CHAR' then
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
    
   data_type || '(' || data_length || ')'
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
    
  when data_type = 'DATE' then
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
    
   data_type
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
  end,
 
 
 
   
    
    
    
    
    
    
    
    
    
    
    
  ',') within
 
 
 
   
    
    
    
    
  group(
 
 
 
   
    
    
    
    
  order by column_id) AS column_name
 
 
 
   
    
    
    
    
   from sys.all_tab_columns  
   c
 
 
 
   
    
    
    
    
  where c.owner = '<<schema>>'
 
 
 
   
    
    
    
    
    
  and table_name like '<<table_name>>%'
 
 
 
   
    
    
    
    
  group by c.OWNER, c.TABLE_NAME);