我有一个名为table.txt的文件,它存储了表名。我希望sql更新查询从我的table.txt文件中逐个获取表名。我的代码如下:shell脚本将表名作为参数传递给sqlplus?
while read LINE1; do
`sqlplus username/[email protected] <<END |sed '/^$/d'
set head off;
set feedback off;
update &LINE1 set enterprise_id = '1234567890' where enterprise_id is NULL;
update &LINE1 set sim_inventory_id ='1234567890';
COMMIT;
exit;
END`
done < table.txt
它给出一个错误sqlplus找不到。你能告诉我什么是错的吗?
为什么反引号? SQL \ * Plus是否位于PATH环境变量中,并且已导出? –
@AlexPoole是的,一切都很好,连接。错误在传递表名。 –
“找不到sqlplus”与传递表名无关。它找不到'sqlplus'二进制文件。给出该二进制文件的完整路径,或者检查PATH是否已正确设置并导出,无论是在脚本中还是在您调用脚本的shell中。 (如果您将其设置在脚本中,如果删除反引号,则导出并不是真的必要)。 –