Oracle11g 从数据库表中提取不同日期的数据文件

Oracle11g 从数据库表中提取不同日期的数据文件,oracle11g,Oracle11g,我在windows和Oracle 11.0.2上 我有一个表TEMP_事务,由6个月左右的事务组成。每条记录都有一个交易日期和其他数据 现在我想做以下工作: 1.从表中提取每个交易日期的数据 2.创建一个带有交易日期名称的平面文件; 3.将该交易日期的数据输出到平面文件; 4.继续下一个日期,然后再次执行步骤1-3 我创建了一个简单的sql脚本来输出事务日期的数据,它可以正常工作。现在我想把它放在一个循环或类似的东西中,这样它就可以在每个事务日期进行迭代 我知道这是要求从零开始,但我需要关于如何

我在windows和Oracle 11.0.2上 我有一个表TEMP_事务,由6个月左右的事务组成。每条记录都有一个交易日期和其他数据

现在我想做以下工作: 1.从表中提取每个交易日期的数据 2.创建一个带有交易日期名称的平面文件; 3.将该交易日期的数据输出到平面文件; 4.继续下一个日期,然后再次执行步骤1-3

我创建了一个简单的sql脚本来输出事务日期的数据,它可以正常工作。现在我想把它放在一个循环或类似的东西中,这样它就可以在每个事务日期进行迭代

我知道这是要求从零开始,但我需要关于如何继续的指针

我手头有Powershell、Java,无法访问Unix

请帮忙

编辑:删除powershell,因为我的主要目标是将其从Oracle PL/SQL中删除,如果没有,则探索powershell或Java


-Abhi

我终于实现了我所追求的目标。以下是可能不是最有效的步骤,但确实有效:

创建了一个SQL脚本,该脚本对我在一天内查找的数据进行假脱机处理。 设置colsep“|”

列spoolname new_val spoolname

select 'TRANSACTION_' || substr(&1,0,8) ||'.txt' spoolname from dual;

set echo off

set feedback off

set linesize 5000

set pagesize 0

set sqlprompt ''

set trimspool on

set headsep off

set verify off

spool &spoolname

Select
''||local_timestamp|| ''||'|'||Field1|| ''||'|'||field2
from << transaction_table >>
where local_timestamp = &1;

select 'XX|'|| count(1)
from <<source_table>>
where local_timestamp = &1;

spool off

exit
就这样

我仍然需要改进一些东西,但至少分割数据的想法是可行的:


希望这能帮助其他正在寻找类似东西的人。

您可以查看,这是一篇关于Powershell和Oracle的非常好的文章。向我们展示您在PL/SQL中已有的内容
PS C:\TEMP\data> foreach ($line in $content){sqlplus user/password '@C:\temp\ExtractData.sql' $line}