我有一个更新某些表的SQL文件。但是,表名称取决于安装软件的计算机名称。(类似:TableFooBar-MyMachine)。我必须编写一个调用Oracle SQL脚本的批处理文件,该脚本将更新此表。
因此,BatchFile->更新。SQL-> TableFooBar-MyMachine
更新。sql将具有如下语句:
Update TableFooBar-<Machine-Name> where fooid = -99;
该批处理文件需要在许多计算机上运行。实际上,此类表上有许多更新语句。我不希望人们编辑sql文件。相反,如果我在批处理文件中设置机器名称并将其传递给sql,我就完成了!如何将计算机名称参数传递给.sql文件以实现此目的?
您可以使用替代变量
更新.sql
-- Update TableFooBar-&1 set column_foo='bar' where fooid = -99; --
然后打电话
sqlplus foo/bar@db @update.sql <Machine-Name>