sql - maximum - set size oracle
instrucción sqlplus desde línea de comando (4)
¿Es posible hacer algo como esto?
$ sqlplus -s user/pass "select 1 from dual"
o
$ echo "select 1 from dual" | sqlplus -s user/pass
Sé que puedo poner select 1 from dual
en un archivo y hacer esto:
$ sqlplus -s user/pass @myFile.sql
pero me pregunto si realmente es necesario crear un archivo solo para satisfacer sqlplus
Mi version
$ sqlplus -s username/password@host:port/service <<< "select 1 from dual;"
1
----------
1
EDITAR:
Para multilínea puedes usar esto
$ echo -e "select 1 from dual; /n select 2 from dual;" | sqlplus -s username/password@host:port/service
1
----------
1
2
----------
2
Puedo ejecutar tu consulta exacta solo asegurándome de que haya un punto y coma al final de mi declaración de selección. (La salida es real, se han eliminado los parámetros de conexión).
echo "select 1 from dual;" | sqlplus -s username/password@host:1521/service
Salida:
1
----------
1
Tenga en cuenta que es importante, pero esto se está ejecutando en Mac OS X Snow Leopard y Oracle 11g.
Solo tenga en cuenta que en Unix / Linux su usuario / contraseña puede ser visto por cualquiera que pueda ejecutar el comando "ps -ef" si lo coloca directamente en la línea de comando. Podría ser un gran problema de seguridad (o convertirse en un gran problema de seguridad).
Normalmente recomiendo crear un archivo o usar aquí el documento para que pueda proteger el nombre de usuario / contraseña de ser visto con el comando "ps -ef" en Unix / Linux. Si el nombre de usuario / contraseña está contenido en un archivo de script o archivo sql, puede protegerlo utilizando los permisos de lectura de usuario / grupo apropiados. Luego puede mantener el usuario / pase dentro del archivo como este en un script de shell:
sqlplus -s /nolog <<EOF
connect user/pass
select blah;
quit
EOF
Supongo que esto es * nix?
Use "aquí documento":
sqlplus -s user/pass <<+EOF
select 1 from dual;
+EOF
EDITAR: Debería haber intentado tu segundo ejemplo. Funciona también (incluso en Windows, sin tics):
$ echo ''select 1 from dual;''|sqlplus -s user/pw
1
----------
1
$