La manera más sencilla es utilizar está sintaxis:
sqlplus username/password @cmdfile.sql var1 var2 var3
El parámetro var1 corresponderá la a la variable &1, el var2 a &2, etc. Como en este ejemplo:
sqlplus scott/tiger @ejemplo.sql '"parametro text"' dual
ejemplo.sql:
select '&1' from &2; exit 5;
Recordar que windows las variables se defines %Variable%
Y si el parametro fuera para una cansulta con datos fecha : ejm:
sqlplus scott/tiger @ejemplo.sql parametro
—
select to_date(&1,’dd/mm/yyyy’) from dual;
¿?¿?¿?¿?¿?¿
Lo mismo que tu tienes pero entrecomillando el parámetro de entrada.
El fichero ejemplo será:
select to_date(‘&1′,’dd/mm/yyyy’) from dual;
sqlplus pepe/pepe @ejemplo.sql ’17-SEP-12′
SQL*Plus: Release 11.1.0.7.0 – Production on Mon Sep 17 10:45:54 2012
Copyright (c) 1982, 2008, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 – 64bit Production
With the Real Application Clusters option
old 1: select to_date(‘&1′,’dd/mm/yyyy’) from dual
new 1: select to_date(’17-SEP-12′,’dd/mm/yyyy’) from dual
TO_DATE(’17-SEP-12
——————
17-SEP-12