Oracle11g 从数据库表中提取不同日期的数据文件
我在windows和Oracle 11.0.2上 我有一个表TEMP_事务,由6个月左右的事务组成。每条记录都有一个交易日期和其他数据 现在我想做以下工作: 1.从表中提取每个交易日期的数据 2.创建一个带有交易日期名称的平面文件; 3.将该交易日期的数据输出到平面文件; 4.继续下一个日期,然后再次执行步骤1-3 我创建了一个简单的sql脚本来输出事务日期的数据,它可以正常工作。现在我想把它放在一个循环或类似的东西中,这样它就可以在每个事务日期进行迭代 我知道这是要求从零开始,但我需要关于如何继续的指针 我手头有Powershell、Java,无法访问Unix 请帮忙 编辑:删除powershell,因为我的主要目标是将其从Oracle PL/SQL中删除,如果没有,则探索powershell或JavaOracle11g 从数据库表中提取不同日期的数据文件,oracle11g,Oracle11g,我在windows和Oracle 11.0.2上 我有一个表TEMP_事务,由6个月左右的事务组成。每条记录都有一个交易日期和其他数据 现在我想做以下工作: 1.从表中提取每个交易日期的数据 2.创建一个带有交易日期名称的平面文件; 3.将该交易日期的数据输出到平面文件; 4.继续下一个日期,然后再次执行步骤1-3 我创建了一个简单的sql脚本来输出事务日期的数据,它可以正常工作。现在我想把它放在一个循环或类似的东西中,这样它就可以在每个事务日期进行迭代 我知道这是要求从零开始,但我需要关于如何
-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}