Pasar parameters al file SQL de Oracle desde el file por lotes

Tengo un file SQL que actualiza cierta tabla. Sin embargo, el nombre de la tabla depende del nombre de la máquina en la que está instalado el software. (Algo así como: TableFooBar-MyMachine). Tengo que escribir un file por lotes que llame a un script de Oracle SQL que actualizará esta tabla.

Entonces, BatchFile -> Actualizar. Sql -> TableFooBar-MyMachine

La actualización. Sql tendrá una statement como:

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

Este file por lotes debe ejecutarse en muchas máquinas. En realidad, hay muchas instrucciones de actualización en tales tablas. No quiero que la gente edite los files sql. En cambio, si configuro el nombre del equipo en el file de process por lotes y lo paso al SQL, ¡ya casi termino! ¿Cómo paso el parámetro del nombre de la máquina al file .sql para lograr esto?

puedes usar variables de sustitución

update.sql

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

y luego llamar

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

Sí, puede hacerlo creando el file SQL del file BATCH.

Se vería así:

 @echo off set SQL = update.sql ECHO connect username/password@database ECHO Prompt Updating tables > %SQL% ECHO Update TableFooBar-%1 where fooid = -99; >> %SQL% sqlplus @update.sql