【发布时间】:2011-08-16 09:45:26
【问题描述】:
我有一个批处理文件,它运行多个 sql 文件并将参数传递给它们。 输入参数存储在一个txt文件中,由批处理文件读取。
我正在尝试将 varchar 值传递给 SQL 的 IN 子句。
例如
在我的输入文件我这个条目
var1="'tommy','jim'"
在批处理文件中
<code to read file , assuming %1 has the var1 value>
set param=%~1
sqlplus %DBCONN% @%programFolder%\test.sql %param%
test.sql(名称为 varchar2)
select * from table where name in (&1);
这给出错误,说无效号码 当它试图运行时
select * from table where name in (tommy);
如果我在 sql stmt 之前回显,它会显示 'tommy','jim' 但在 sql 中,它删除了 jim 和单引号 ...
请帮忙!
现在我将输入文件中的条目编辑为
var1="'''tommy''','''jim'''"
select * from table where name in ('tommy');
但它会截断第二个值
任何线索如何包含逗号??
【问题讨论】:
-
你能分享更多关于你如何解决这个问题的细节吗?我有以下代码 //read input file- ('pdf','csv','jpeg','png') set /P ALLOWED_TYPES=
标签: sql batch-file comma