¿Tengo que volver a escribir la información cada vez que cometo un error en SQLPlus

11

Si cometo un error en SQLPlus al ingresar un comando 'insertar en', ¿hay alguna forma de que pueda recuperar esta información para editarla?

Bambi Bowman
fuente
Necesita escribir en la línea de comando: Rollback;
@ user16063 --- y ¿qué hará eso? ¿Puedes dar más detalles?
jcolebrand
@ user16063 Estoy bastante seguro de que esto es un malentendido, Bambi quiere editar el texto del comando anterior y no revertir una transacción.
Jack dice que intente topanswers.xyz
También echa un vistazo sqlcl(sin embargo, es una aplicación Java, pero un aviso muy elegante y soporte de terminal para una CLI)
eckes

Respuestas:

15

Varias formas.

Puede configurar la EDITORvariable de entorno antes de ejecutar SQL * Plus (suponiendo Unix), para permitir el uso de un editor de texto externo ( vi, a modo de ejemplo):

export EDITOR=vi

Luego escriba edSQL * Plus para editar la consulta anterior en el vieditor. Por supuesto, es posible que prefiera nano, pico, emacs, vim, etc, etc.

Si no desea establecer una variable de entorno, puede agregarla define _editor=via su $ORACLE_HOME/sqlplus/admin/glogin.sqlarchivo.

Mi manera favorita de lograr SQL * Plus edit heaven (en Unix) es mediante el uso rlwrap. Esto agrega readlinesoporte a SQL * Plus y le permite editar fácilmente dentro de SQL * Plus.

Instale rlwrapdesde su repositorio de paquetes de distribución (o descargue y compile desde el sitio web aquí ), luego agregue lo siguiente a su script de inicio de shells ( .bashrc/ .bash_profileo similar):

alias sqlplus="rlwrap -i sqlplus"
Philᵀᴹ
fuente
2

A menos que algo haya cambiado, simplemente escriba "editar" y presione Entrar y se abrirá en el Bloc de notas (suponiendo que Windows esté aquí) y podrá cambiar la consulta allí.

mrdenny
fuente
-2

Para todas las aplicaciones de línea de comandos, emacs se puede utilizar como interfaz. Puede abrir el modo shell y ejecutar la herramienta de línea de comando. Emacs enviará el comando que ingresó a la herramienta de línea de comando y leerá y mostrará la salida. Debido a que escribe su entrada en emacs, puede manipular su entrada utilizando los comandos de emacs. Usando este modo, emacs se puede usar con las siguientes herramientas Oracle como *

  • rman
  • lsnrctl
  • adrci
  • dgmgrl

Hay un modo especial de sql-oracle que admite especialmente sqlplus . Trabajé con eso hace mucho tiempo. Hoy no lo encontré en la documentación. Busqué en la web y encontré solo el siguiente enlace . Quizás pueda encontrar más cuando busque en los documentos de emacs. Hay otros modos sql para emacs . Esta página contiene una referencia al enlace encontrado por @Jack Douglas también.

A mucha gente no le gustan los emacs porque piensan que es una herramienta compleja.

milagro173
fuente
Me pregunto si los votos negativos son de los vifanáticos;) Encontré esto (aparentemente "inspirado en sqlplus-mode.el") en Google, ¿es de lo que estabas hablando?
Jack dice que intente topanswers.xyz 12/12/12
Creo que esto es algo similar al modo sql-oracle .
milagro173