问题描述
你好,汤姆,
非常感谢你的帮助。我需要更多的帮助。
这只与我问的最后一个问题有关。你也发了剧本。这是很大的帮助。现在我需要更多帮助,我的问题是我们需要导出数据。csv和结构应该在文件夹下像年 月 每两周/每周?
我们可以添加/修改您发送给我的脚本,并添加上述要求,即应将数据导出到其中。csv在文件夹结构年/月/双周/每周?
以下是我们上次的最后一次谈话。你给我发了下面的答案和剧本。我想添加dd/修改您发送给我的脚本,并添加上述要求,即应将数据导出到。csv在文件夹结构年/月/双周/每周?
你好,汤姆,
我需要以下问题的帮助,请帮助我
来自不同表的单个传感器数据应合并在一个excel中。
文件不应超过4mb大小,记录不应超过100000条记录。
如果来自不同表的单个传感器数据超过4mb文件或100000记录限制,则剩余数据应转到第二个excel。
要导出到结构文件夹中的csv,如年以下 月 每两周/每周
我们说...
您可以在UTL_FILE中使用一些逻辑来跟踪大小和行计数,并相应地启动一个新文件
声明
文件utl_file_file_type;
l_idx int := 1;
l_text varchar2(32767);
l_size int := 0;
l_rows int := 0;
开始
l_file := utl_file.fopen (位置 => 'temp',
文件名 => '文件' | | l_idx | | '.csv ',
open_mode => 'w',
max_linesize => 32767);
对于c in
(选择... 从表1 union all
选择...从表2联盟全部
...
)
循环
如果l_rows = 100000或
l_size > 4*1024
然后
utl_file.fclose(l_file);
l_idx := l_idx 1;
l_rows := 0;
L _ 大小: = 0;
l_file := utl_file.fopen (位置 => 'temp',
文件名 => '文件' | | l_idx | | '.csv ',
open_mode => 'w',
max_linesize => 32767);
如果结束;
文本: = c.col1 | | ',' | |
c.col2 | | ',' | |
c.col3 | | ',' | |
c.col4 | | ',' | |
c.col5 | | ',' | |
c.col6 | | ',' | |
...
...;
l_rows := l_rows 1;
l_size := l_size长度 (l_text);
文件。输入行 (文件,
c.de ptno);
结束循环;
utl_file.fclose(l_file);
异常
当其他人那么
utl_file.fclose(l_file);
加薪;
结束;
/
非常感谢你的帮助。我需要更多的帮助。
这只与我问的最后一个问题有关。你也发了剧本。这是很大的帮助。现在我需要更多帮助,我的问题是我们需要导出数据。csv和结构应该在文件夹下像年 月 每两周/每周?
我们可以添加/修改您发送给我的脚本,并添加上述要求,即应将数据导出到其中。csv在文件夹结构年/月/双周/每周?
以下是我们上次的最后一次谈话。你给我发了下面的答案和剧本。我想添加dd/修改您发送给我的脚本,并添加上述要求,即应将数据导出到。csv在文件夹结构年/月/双周/每周?
你好,汤姆,
我需要以下问题的帮助,请帮助我
来自不同表的单个传感器数据应合并在一个excel中。
文件不应超过4mb大小,记录不应超过100000条记录。
如果来自不同表的单个传感器数据超过4mb文件或100000记录限制,则剩余数据应转到第二个excel。
要导出到结构文件夹中的csv,如年以下 月 每两周/每周
我们说...
您可以在UTL_FILE中使用一些逻辑来跟踪大小和行计数,并相应地启动一个新文件
声明
文件utl_file_file_type;
l_idx int := 1;
l_text varchar2(32767);
l_size int := 0;
l_rows int := 0;
开始
l_file := utl_file.fopen (位置 => 'temp',
文件名 => '文件' | | l_idx | | '.csv ',
open_mode => 'w',
max_linesize => 32767);
对于c in
(选择... 从表1 union all
选择...从表2联盟全部
...
)
循环
如果l_rows = 100000或
l_size > 4*1024
然后
utl_file.fclose(l_file);
l_idx := l_idx 1;
l_rows := 0;
L _ 大小: = 0;
l_file := utl_file.fopen (位置 => 'temp',
文件名 => '文件' | | l_idx | | '.csv ',
open_mode => 'w',
max_linesize => 32767);
如果结束;
文本: = c.col1 | | ',' | |
c.col2 | | ',' | |
c.col3 | | ',' | |
c.col4 | | ',' | |
c.col5 | | ',' | |
c.col6 | | ',' | |
...
...;
l_rows := l_rows 1;
l_size := l_size长度 (l_text);
文件。输入行 (文件,
c.de ptno);
结束循环;
utl_file.fclose(l_file);
异常
当其他人那么
utl_file.fclose(l_file);
加薪;
结束;
/
专家解答
我们通过评论回答了这个问题
Oracle writes to directory objects, so you would need to have a directory set up for each *pre-existing* folder that you want to write to.
Then it is just a case of changing the directory name as required.
按年/月/日对数据进行排序,每次更改后,关闭并打开一个新文件
Oracle writes to directory objects, so you would need to have a directory set up for each *pre-existing* folder that you want to write to.
Then it is just a case of changing the directory name as required.
按年/月/日对数据进行排序,每次更改后,关闭并打开一个新文件
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




