ver varios usuario una solo privilegios obtener insertar hacer ejemplos developer dbms_output datos contraseña consultas consulta comandos cambiar actual 11g oracle command-line sqlplus

oracle - varios - ¿Cómo puedo emitir un solo comando desde la línea de comando a través de sql plus?



obtener usuario actual oracle (6)

Usando SQL Plus, puede ejecutar un script con el operador "@" desde la línea de comando, como en:

c:/>sqlplus username/password@databasename @"c:/my_script.sql"

¿Pero es posible simplemente ejecutar un solo comando con una sintaxis similar, sin un archivo de script separado? Como en:

c:/>sqlplus username/password@databasename @execute some_procedure

Estoy interesado en esto porque quiero escribir un archivo por lotes que simplemente ejecute un comando, sin generar un montón de archivos ".sql" de dos líneas.


¿Has intentado algo como ésto?

sqlplus username/password@database < "EXECUTE some_proc /"

Parece que en UNIX puedes hacer:

sqlplus username/password@database <<EOF EXECUTE some_proc; EXIT; EOF

Pero no estoy seguro de cuál sería el equivalente de Windows.


Así es como resolví el problema:

<target name="executeSQLScript"> <exec executable="sqlplus" failonerror="true" errorproperty="exit.status"> <arg value="${dbUser}/${dbPass}@<DBHOST>:<DBPORT>/<SID>"/> <arg value="@${basedir}/db/scripttoexecute.sql"/> </exec> </target>


Puedo ejecutar una consulta SQL atornillando a SQL * Plus:

@echo select count(*) from table; | sqlplus username/password@database

Dar

@echo execute some_procedure | sqlplus username/password@databasename

un intento.


Para UNIX (AIX):

export ORACLE_HOME=/oracleClient/app/oracle/product/version export DBUSER=fooUser export DBPASSWD=fooPW export DBNAME=fooSchema echo "select * from someTable;" | $ORACLE_HOME/bin/sqlplus $DBUSER/$DBPASSWD@$DBNAME


@find /v "@" < %0 | sqlplus -s scott/tiger@orcl & goto :eof select sysdate from dual;


sqlplus user/password@sid < sqlfile.sql

Esto también funcionará desde la línea de comandos de DOS. En este caso, el archivo sqlfile.sql contiene el SQL que desea ejecutar.