小编典典

从批处理文件向Oracle SQL文件传递参数

sql

我有一个更新某些表的SQL文件。但是,表名称取决于安装软件的计算机名称。(类似:TableFooBar-MyMachine)。我必须编写一个调用Oracle
SQL脚本的批处理文件,该脚本将更新此表。

因此,BatchFile->更新。SQL-> TableFooBar-MyMachine

更新。sql将具有如下语句:

Update TableFooBar-<Machine-Name> where fooid = -99;

该批处理文件需要在许多计算机上运行。实际上,此类表上有许多更新语句。我不希望人们编辑sql文件。相反,如果我在批处理文件中设置机器名称并将其传递给sql,我就完成了!如何将计算机名称参数传递给.sql文件以实现此目的?


阅读 177

收藏
2021-04-22

共1个答案

小编典典

您可以使用替代变量

更新.sql

--
Update TableFooBar-&1 set column_foo='bar' where fooid = -99;
--

然后打电话

sqlplus foo/bar@db @update.sql <Machine-Name>
2021-04-22