我正在使用 Oracle 12c。
我有一张员工表,如下所示:
EMPLOYEE_NAME | DEPARTMENT_NAME
--------------|----------------
Jim | Sales
Barb | Marketing
Paul | Sales
Frank | Sales
Cindy | Accounting
Carl | Marketing
... and so on ...
Run Code Online (Sandbox Code Playgroud)
如果 PL/SQL 允许的话,我想做这样的事情:
FOREACH dept IN (SELECT DISTINCT DEPARTMENT_NAME FROM EMPOLYEES) DO
SPOOL 'list_' || :dept || '.txt';
SELECT EMPLOYEE_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_NAME = :dept;
SPOOL OFF;
DONE;
Run Code Online (Sandbox Code Playgroud)
这将产生一组如下文件:
list_Sales.txt:
Jim
Paul
Frank
Run Code Online (Sandbox Code Playgroud)
列表_营销.txt
Barb
Carl
Run Code Online (Sandbox Code Playgroud)
列表_会计.txt
Cindy
Run Code Online (Sandbox Code Playgroud)
... 等等 ...
关于如何实现这一目标有什么想法吗?
谢谢。