oracle - run - ¿Cómo paso argumentos a un script PL/SQL en la línea de comandos con SQLPLUS?
sqlplus-s command (2)
En primer lugar, deberás invocar tu script así:
sqlplus.exe MYUSER/mypassword@HOST030 @refreshDataOnOracle.sql foo bar
En lugar de la redirección del sistema operativo, utilizará el símbolo "@" para indicar el nombre del archivo a ejecutar. También proporcionará los parámetros de script en la línea de comandos. En el script se referirá a los parámetros usando &1
, &2
etc.
update mytable set mycol = ''&2'' where myid = ''&1'';
que se traducirá en
update mytable set mycol = ''bar'' where myid = ''foo'';
¿Cómo paso argumentos a un script PL / SQL en la línea de comandos con SQLPLUS? Puedo llamar a mi script PL / SQL así, pero el script requiere argumentos para que tenga éxito. ¿Cómo puedo ejecutar sqlplus.exe para que pueda pasar argumentos al script?
@ECHO off
// where HOST030 is a tnsnames alias to a machine, port, and instance
sqlplus.exe MYUSER/mypassword@HOST030 < refreshDataOnOracle.sql
pause
Intenté buscar la respuesta, pero no pude encontrar un "ejemplo de argumento" en ningún lugar para SQLPLUS. Sospecho que sería un método similar de usar el comando "START" de SQL * Plus?
Si desea registrar la ejecución de sqlplus, puede usar esta sintaxis:
sqlplus.exe MYUSER/mypassword@HOST030 @refreshDataOnOracle.sql foo bar >> log.log