Oracle 如何做动态滑阀';s通过批处理文件使用sqlplus
我正在尝试使用批处理文件调用的单个.sql存档来使用querye result保存多个txt存档,以实现自动化工作。 我的批处理文件:Oracle 如何做动态滑阀';s通过批处理文件使用sqlplus,oracle,batch-file,archive,spool,Oracle,Batch File,Archive,Spool,我正在尝试使用批处理文件调用的单个.sql存档来使用querye result保存多个txt存档,以实现自动化工作。 我的批处理文件: set d=%location%result.txt set f=%location%result2.txt echo exit | sqlplus GOVMANPATCHORACLE/GOVMANPATCHORACLE@%SERVER%/%SERVICE% @C:\Users\enrique.erbs\Desktop\JOB\Tools\extrato
set d=%location%result.txt
set f=%location%result2.txt
echo exit | sqlplus GOVMANPATCHORACLE/GOVMANPATCHORACLE@%SERVER%/%SERVICE% @C:\Users\enrique.erbs\Desktop\JOB\Tools\extrator_parametros\queryoracle.sql '%d%' '%f%'
*“%d%”包含要假脱机的保存区域设置
My archive.sql(queryoracle.sql):
我尝试了一些选项,最接近于获得结果的方法是在sqlplus调用结束时使用“>>%location%\result.txt”
有人能帮我吗?你一点也不远。实际上,当执行SQLPLUS并向他传递一个要执行的文件和参数时,它将用第一个参数替换出现的每一个&1,用第二个参数替换出现的每一个&2,等等 这应该起作用:
SET PAGESIZE 50000
SET LINESIZE 800
SET VERIFY OFF
SET ECHO ON
SET HEAD ON
SET SERVEROUTPUT ON;
SET PAGES 0
SET DEFINE ON;
COLUMN COD_PARAMETRO FORMAT a100 HEADING COD_PARAMETRO;
COLUMN DES_PARAMETRO FORMAT a100 HEADING DES_PARAMETRO;
COLUMN DES_VALOR FORMAT a100 HEADING DES_VALOR;
SPOOL '&1'
SELECT TDFE_PARAMETRO_APLICACAO.COD_PARAMETRO AS COD_PARAMETRO, TDFE_PARAMETRO.DES_PARAMETRO AS DES_PARAMETRO, TDFE_PARAMETRO_APLICACAO.DES_VALOR AS DES_VALOR FROM TDFE_PARAMETRO_APLICACAO INNER JOIN TDFE_PARAMETRO ON(TDFE_PARAMETRO_APLICACAO.COD_PARAMETRO=TDFE_PARAMETRO.COD_PARAMETRO);
SPOOL OFF
SPOOL '&2'
SELECT * FROM TDFE_PARAMETRO_APLICACAO;
SPOOL OFF
供参考:
SET PAGESIZE 50000
SET LINESIZE 800
SET VERIFY OFF
SET ECHO ON
SET HEAD ON
SET SERVEROUTPUT ON;
SET PAGES 0
SET DEFINE ON;
COLUMN COD_PARAMETRO FORMAT a100 HEADING COD_PARAMETRO;
COLUMN DES_PARAMETRO FORMAT a100 HEADING DES_PARAMETRO;
COLUMN DES_VALOR FORMAT a100 HEADING DES_VALOR;
SPOOL '&1'
SELECT TDFE_PARAMETRO_APLICACAO.COD_PARAMETRO AS COD_PARAMETRO, TDFE_PARAMETRO.DES_PARAMETRO AS DES_PARAMETRO, TDFE_PARAMETRO_APLICACAO.DES_VALOR AS DES_VALOR FROM TDFE_PARAMETRO_APLICACAO INNER JOIN TDFE_PARAMETRO ON(TDFE_PARAMETRO_APLICACAO.COD_PARAMETRO=TDFE_PARAMETRO.COD_PARAMETRO);
SPOOL OFF
SPOOL '&2'
SELECT * FROM TDFE_PARAMETRO_APLICACAO;
SPOOL OFF