使用一个文本文件,其中每一行都是一个传递给 SQL*Plus 的参数
Use a text file where each line is a parameter to pass to SQL*Plus
我有一个文本文件,其中每一行都是一个 ID。看起来像这样
008700200107044314929
0049RXPRISE9000000476
0049GMLCLT00000001021
0147RXPRISE0000094208
0111RXPRISE0000043962
0132GDLCLT00000001637
002120001126002858830
0148FI000000000153554
0021JT000000000536614
我想使用该文件并将每一行作为参数传递给批处理文件中的 SQL*PLUS。
我想做这样的事情:
sqlplus -l -s %cfg.pivot.user%/%cfg.pivot.pass%@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=%cfg.pivot.server%)(Port=1521))(CONNECT_DATA=(SID=%cfg.pivot.base%))) @%sql_histo% "%list_id_cli_temp%" >> %logfile%
%list_id_cli_temp% 是我的文本文件,%sql_histo% 是我的 SQL 命令,就像这样
insert into xyz.clt_reinsert_histo select id_client, sysdate, code_societe , code_etabliss , date_session , date_heure , numero_ordre FROM xyz.ctransaction where id_client='&1';
但是像这样是行不通的。有人知道如何处理这个问题吗?
好的,感谢@aschipfl,我已经使用 for /F 在我的文本文件中循环并提取我的 ID。
for /F "tokens=1-10" %%a in (%list_id_cli_temp%) do (
sqlplus -l -s %cfg.pivot.user%/%cfg.pivot.pass%@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=%cfg.pivot.server%)(Port=1521))(CONNECT_DATA=(SID=%cfg.pivot.base%))) @%sql_histo% "%%a" >> %logfile%
)
像这样,我使用前 10 行并使用 %%a 从文本文件的每一行获取我的 ID,并将其通过参数传递给我的 sql 命令
我有一个文本文件,其中每一行都是一个 ID。看起来像这样
008700200107044314929
0049RXPRISE9000000476
0049GMLCLT00000001021
0147RXPRISE0000094208
0111RXPRISE0000043962
0132GDLCLT00000001637
002120001126002858830
0148FI000000000153554
0021JT000000000536614
我想使用该文件并将每一行作为参数传递给批处理文件中的 SQL*PLUS。
我想做这样的事情:
sqlplus -l -s %cfg.pivot.user%/%cfg.pivot.pass%@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=%cfg.pivot.server%)(Port=1521))(CONNECT_DATA=(SID=%cfg.pivot.base%))) @%sql_histo% "%list_id_cli_temp%" >> %logfile%
%list_id_cli_temp% 是我的文本文件,%sql_histo% 是我的 SQL 命令,就像这样
insert into xyz.clt_reinsert_histo select id_client, sysdate, code_societe , code_etabliss , date_session , date_heure , numero_ordre FROM xyz.ctransaction where id_client='&1';
但是像这样是行不通的。有人知道如何处理这个问题吗?
好的,感谢@aschipfl,我已经使用 for /F 在我的文本文件中循环并提取我的 ID。
for /F "tokens=1-10" %%a in (%list_id_cli_temp%) do (
sqlplus -l -s %cfg.pivot.user%/%cfg.pivot.pass%@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=%cfg.pivot.server%)(Port=1521))(CONNECT_DATA=(SID=%cfg.pivot.base%))) @%sql_histo% "%%a" >> %logfile%
)
像这样,我使用前 10 行并使用 %%a 从文本文件的每一行获取我的 ID,并将其通过参数传递给我的 sql 命令