oracle批量化查询指定表的字段信息

DECLARE
  type projects_varray2 is varray(10000) of varchar2(20000); --定义数组
  o1 varchar2(32765);
  o2 varchar2(32765);
  v_projects projects_varray2:=projects_varray2(
'table_name_test1',
'table_name_test2',
'table_name_test3',
'table_name_test4'
);
begin
  for x in v_projects.first .. v_projects.last loop
      FOR o1 IN (select 
          ut.table_name,
          ut.COLUMN_NAME,--字段名称
          uc.comments,--字段注释
          ut.DATA_TYPE--字典类型 
      from user_tab_columns  ut
      inner JOIN user_col_comments uc
      on ut.TABLE_NAME  = uc.table_name and ut.COLUMN_NAME = uc.column_name
      where ut.Table_Name=v_projects(x) ORDER by ut.column_name)
      LOOP
            IF o1.comments IS NULL THEN o1.comments:='备用字段';
            END IF;
            o2:=o1.table_name||' '||o1.COLUMN_NAME||' '||o1.comments||' '||o1.DATA_TYPE;
            dbms_output.put_line(o2);
      END LOOP;

  end loop;
end;

猜你喜欢

转载自blog.csdn.net/weixin_42856363/article/details/113994302