我想将一个表导出到每个csv文件,并使用时间戳命名该csv文件。例如,如果我有一个table t1
,则在导出后,将生成一个csv文件名t1.YYYYMMDDHHMISS.csv。这是我的代码:
create or replace procedure
T_to_CSV(Tname varchar2,Directory varchar2)
BEGIN
set colsep , -- separate columns with a comma
set pagesize 0 -- No header rows
set trimspool on -- remove trailing blanks
set headsep off -- this may or may not be useful...depends on your
spool timestamp.csv --don't know how to write in directory
select *
from Tname
end
这是我的问题:
(1)我不知道如何将csv文件输出到需要的目录中,请如何解决假脱机代码?
我应该使用线轴D:\path\filename.csv
吗?
(2)在假脱机行中,如何使用时间戳now()更改csv文件的名称?
有几个步骤:
GRANT read,write on DIRECTORY my_dir to the_user;
我已经用过了,效果很好。
用法
data_dump ( 'Select emp_name from emp',
CURRENT_TIMESTAMP||'filename.csv',
my_dir);
(大大简化了示例!)
创建目录后,通过运行以下命令验证您的工作:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句