如何使用 .bat 在 excel 上打印一个简单的“选择”?

问题描述

这是我第一次接触 sql

对于培训,我想创建一个脚本,该脚本将使用 .bat 运行。 该脚本必须在 excel 文件上打印一些计数的结果。

这是一个请求示例:

select  count(distinct email) as nb_mail,count(distinct siret) as nb_siret from     MY_TABLE

我想要一个包含两列的excel文件,一列用于邮件,另一列用于siret。

我可以为这个过程提供一个例子吗?谢谢!

解决方法

好吧,输出到 .xlsx 文件并不是那么容易。老实说,我不知道该怎么做。但是,创建一个可以被 MS Excel 轻松打开的 .CSV 文件并不困难。

spool_to_csv.SQL 文件:

set trim on
set echo off
set feedback off
set colsep ';'
spool my_csv.csv

select d.dname,count(*) cnt
from emp e join dept d on e.deptno = d.deptno
group by d.dname
order by d.dname;

spool off;
exit

spool_to_csv.BAT 文件:

sqlplus -s scott/tiger @spool_to_csv.sql

当你运行它时,结果是(在 Excel 中打开):

如果你觉得没问题,就用它。如果没有,恐怕我也帮不上什么忙了。