如何使用批处理文件将绑定变量值传递给 SQLplus
Posted
技术标签:
【中文标题】如何使用批处理文件将绑定变量值传递给 SQLplus【英文标题】:How to pass Bind variable value to SQLplus using Batch file 【发布时间】:2020-05-12 02:32:09 【问题描述】:我想使用批处理文件将值传递给 Sqlplus 并将输出存储在 excel 中。
SQL code:
Select :v_customerName||'|'||id||'|'||SUBMISSION_DATE||'|'||VALUE
from job_summary
在 job_summary 表中,我只有 3 列(id、date、value)。我必须使用批处理文件传递客户名称。
MY OUTPUT in Excel:
|1|1-may-20|234
|2|4-may-20|235
Output I want:
abc|1|1-may-20|234
abc|2|4-may-20|235
我现在不知道如何在批处理脚本中为客户粘贴值。
My batch:
sqlplus hr/hr@ @Header.sql !customername!
【问题讨论】:
阅读此oracle-base.com/articles/misc/… 通过使用替换变量,我如何从批处理文件中传递值以及如何将该值添加到输出文件中 绑定变量还是替换变量? 【参考方案1】:.SQL
脚本内容:
set colsep ';'
set ver off
set heading off
spool a.txt
select '&1', ename, job
from emp
where deptno = 10;
spool off
exit
如下调用; Littlefoot
是你想在输出文件中看到的参数:
c:\Temp>sqlplus scott/tiger @p Littlefoot
SQL*Plus: Release 11.2.0.2.0 Production on Uto Svi 12 07:14:38 2020
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
Littlefoot;CLARK ;MANAGER
Littlefoot;KING ;PRESIDENT
Littlefoot;MILLER ;CLERK
Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
c:\Temp>
结果:
c:\Temp>type a.txt
Littlefoot;CLARK ;MANAGER
Littlefoot;KING ;PRESIDENT
Littlefoot;MILLER ;CLERK
c:\Temp>
所以:
只需传递参数 使用&
符号引用它(在.sql
脚本中)
【讨论】:
以上是关于如何使用批处理文件将绑定变量值传递给 SQLplus的主要内容,如果未能解决你的问题,请参考以下文章
如何将变量值从一个文件中的一个类传递给另一个文件中的另一个类python tkinter