Cuando se escribe una sentencia en sqlplus y se necesita corregir o modificar, se debe volver a escribir la sentencia completa.
sqlplus cuenta con un editor interno, el cual es posible de configurar defininiendo la variable EDITOR.
Por default sqlplus no cuenta con ningún editor en particular:
SQL> define
DEFINE _DATE = "13-MAR-13" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "clarope" (CHAR)
DEFINE _USER = "TAMP" (CHAR)
DEFINE _PRIVILEGE = "" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1002000500" (CHAR)
DEFINE _EDITOR = "ed" (CHAR)
DEFINE _O_VERSION = "Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options" (CHAR)
DEFINE _O_RELEASE = "1002000500" (CHAR)
Sin embargo es posible configurar que el editor sea vi (o algun otro que se encuentre instalado en el server).
[oracle@YAYO ~]$ export EDITOR=vi
de esta forma es posible verificar que sqlplus reconoce a vi como editor.
SQL> define
DEFINE _DATE = "13-MAR-13" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "clarope" (CHAR)
DEFINE _USER = "TAMP" (CHAR)
DEFINE _PRIVILEGE = "" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1002000500" (CHAR)
DEFINE _EDITOR = "vi" (CHAR)
DEFINE _O_VERSION = "Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options" (CHAR)
DEFINE _O_RELEASE = "1002000500" (CHAR)
Ahora como ejemplo de uso escribimos la siguiente sentencia:
SQL> select sysdate from dual;
SYSDATE
---------
13-MAR-13
SQL>
Modificamos la sentencia utilizando el comando ed:
SQL> ed
Al abrir el editor vi modificamos la sentencia y al guardar los cambios se despliega el texto que ha quedado guardado en memoria:
Wrote file afiedt.buf
1* select to_char(sysdate,'dd/mm/yyyy hh24:mi:ss') lala from dual
Para ejecutar lo recién modificado se utiliza el caracter "/"
SQL> /
LALA
-------------------
13/03/2013 12:05:12
SQL>
Ahora ya es posible utilizar el utilitario vi para reescribir sentencias dentro de sqlplus.
Para no tener que exportar la variable en cada sesion, se añade al archivo .bash_profile de la siguiente forma:
ORACLE_SID=lala
...
EDITOR=vi
No hay comentarios:
Publicar un comentario