SQL 开发者查询结果到动态 csv 文件
SQL developer query results to dynamic csv file
我正在尝试使用 SQL Developer 中的假脱机命令将我的查询结果导出到 csv 文件。它在 csv 文件名是静态的时候有效,但现在我需要动态创建文件名,我尝试如下但显然它不起作用。有人可以帮忙吗?
var CatCode char(5) ;
exec :CatCode := 'ZK';
exec :csvFile := 'c:\temp\MyCSV_' || trim(:CatCode) || '.csv';
set feedback off;
SET SQLFORMAT csv;
spool csvFile
SELECT * FROM Products WHERE CategoryCode = :CatCode;
spool off;
SET SQLFORMAT;
set feedback on;
我用 spool :csvFile 或 spool &csvFile 尝试了 spool 命令,但没有帮助。
VAR CatCode CHAR ( 5 );
EXEC :CatCode := 'ZK';
SET FEEDBACK OFF;
SET SQLFORMAT csv;
SET TERMOUT OFF
column filename new_value filename
SELECT 'c:\temp\MyCSV_' || trim(:CatCode) || '.csv' as filename FROM DUAL;
SPOOL &filename
SELECT * FROM Products WHERE CategoryCode = :CatCode;
SPOOL OFF;
SET SQLFORMAT;
SET FEEDBACK ON;
您可能还想查看这篇 askTOM 文章。
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:3581757800346555562
我正在尝试使用 SQL Developer 中的假脱机命令将我的查询结果导出到 csv 文件。它在 csv 文件名是静态的时候有效,但现在我需要动态创建文件名,我尝试如下但显然它不起作用。有人可以帮忙吗?
var CatCode char(5) ;
exec :CatCode := 'ZK';
exec :csvFile := 'c:\temp\MyCSV_' || trim(:CatCode) || '.csv';
set feedback off;
SET SQLFORMAT csv;
spool csvFile
SELECT * FROM Products WHERE CategoryCode = :CatCode;
spool off;
SET SQLFORMAT;
set feedback on;
我用 spool :csvFile 或 spool &csvFile 尝试了 spool 命令,但没有帮助。
VAR CatCode CHAR ( 5 );
EXEC :CatCode := 'ZK';
SET FEEDBACK OFF;
SET SQLFORMAT csv;
SET TERMOUT OFF
column filename new_value filename
SELECT 'c:\temp\MyCSV_' || trim(:CatCode) || '.csv' as filename FROM DUAL;
SPOOL &filename
SELECT * FROM Products WHERE CategoryCode = :CatCode;
SPOOL OFF;
SET SQLFORMAT;
SET FEEDBACK ON;
您可能还想查看这篇 askTOM 文章。
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:3581757800346555562