select table_name,count(column_name) from all_tab_columns where owner ='HR'
此查询检索结果,但我希望使用 PL/SQL 过程对表中的列数进行相同的计算,并且该输出应进入 CSV 文件。
在此处的帮助下创建 CSV 版本 1(不使用 PL/SQL,但仍创建 CSV 文件)
set colsep ,
set pagesize 0
set trimspool on
set headsep off
set linesize 100
set numw 10
spool myfile.csv
select table_name,count(column_name) as cnt
from all_tab_columns where owner ='HR'
group by table_name);
带有一点 PL/SQL 的版本 2
set serveroutput on
begin
for c in (select table_name,count(column_name) as cnt
from all_tab_columns where owner ='HR' group by table_name)
loop
dbms_output.put_line(c.table_name||';'||c.cnt);
end loop;
end;
/
如果您想要文件服务器端,版本 3 将使用 utl_file 包,但我现在假设您在 SQLplus 或 SQLdeveloper 中运行它。