next up previous
Next: Ejecución de secuencias de Up: Edición y ejecución de Previous: Edición y ejecución de

Ejecución de comandos individuales

Si se desea ejecutar directamente un comando propio de SQL*Plus (por ejemplo, SET PAUSE ON) se puede teclear directamente. Utilizando sqlplus, el comando debe ir en una sola línea, y se ejecuta al pulsar ENTER. En SQL*Plus WorkSheet puede ocupar más de una línea y se ejecuta pulsando Control+ENTER, pulsando el segundo botón (con el dibujo de un rayo), o en la opción correspondiente del menú.

Las sentencias SQL pueden ocupar más de una línea en cualquiera de los entornos. Sin embargo, no puede haber líneas en blanco dentro de una sentencia. Para finalizarla hay varias formas:

  1. Una barra (/), que debe estar obligatoriamente en una nueva línea después de la sentencia, y ser el único carácter de esa línea.
    	SELECT *
    	   FROM JUGADOR
    	/
    

  2. Un punto y coma (;) al final de la misma, sin importar que esté en una línea aparte o al final de la última línea. Suele ser la forma preferida:
    	SELECT *
    	   FROM JUGADOR;
    
  3. Acabar la sentencia sin ningún terminador. En sqlplus se deberá pulsar Enter con una línea en blanco para que devuelva el prompt \tt SQL> y podamos introducir más comandos.
    	SELECT *
    	   FROM JUGADOR
    
Las alternativas 1 y 2 terminan la sentencia. En sqlplus, al pulsar Enter, esta se ejecuta inmediatamente. En SQL*Plus WorkSheet hay que ejecutarla pulsando Control+ENTER, o bien usando el botón o la opción de menú. En cambio, la alternativa 3 sólo almacena la sentencia en el buffer de SQL. Para ejecutarla, se tecleará RUN (o R, o /) seguido en ENTER en sqlplus, o ejecutando de la forma usual en SQL*Plus WorkSheet.

Nota: En sqlplus, mientras escribimos la sentencia, irán apareciendo en la parte izquierda números correlativos, que simplemente indican el número de línea de la consulta. Si pulsamos ENTER dos veces y siguen apareciendo números, quiere decir que la sentencia no se ha dado por acabada. Puede ser que esto suceda incluso tecleando el punto y coma o la barra, si nos hemos equivocado en alguna cosa en la sentencia (este comportamiento es intencional para algunos casos, como para escribir bloques de código PL/SQL). Para terminar la sentencia, teclearemos un punto (.) sólo en una línea y pulsaremos ENTER. Esto debería finalizar la sentencia.

Finalmente debemos indicar que en el buffer de SQL se almacena la última sentencia SQL (no los comandos de SQL*Plus). Para ver su contenido usaremos el comando L[IST], y para ejecutarla, / o R[UN], aunque esto a veces no funcione de forma muy correcta en el entorno SQL*Plus WorkSheet.

La propia edición de la consulta desde el entorno sqlplus no es nada amigable, ya que es un editor de líneas demasiado básico. Por ello, se ofrece la posibilidad de teclear las consultas desde un editor externo, que se invoca con la orden

ED[IT]
para la consulta actual, o
ED[IT] <nombre_fichero>
para crear o modificar la consulta en un nuevo fichero. Desde el editor de textos se teclea la consulta y se graba, y al salir la consulta se encuentra en el buffer de SQL, para poder ser ejecutada o guardada (o modificada de nuevo).

El editor por defecto en entornos Windows suele ser el Block de notas (NOTEPAD.EXE), y en entornos Linux/Unix, el que se indica en la variable de entorno EDITOR, o vi si esa variable no está definida. Para cambiar el editor que se usa desde sqlplus utilizaremos la orden

DEFINE_EDITOR=<nombre_del_editor_preferido>

Para cargar en el buffer de SQL una sentencia escrita en un fichero de texto, usaremos el comando GET:

GET <nombre_fichero>
Se supone que el fichero tiene extensión .sql si no se indica otra distinta.
GET consulta.sql         -- Carga consulta.sql
GET consulta             -- Carga consulta.sql
GET consulta.txt         -- Carga consulta.txt
A continuación de cargar la sentencia, podremos ver su contenido (LIST) o ejecutarla(RUN).

Para guardar una consulta (sólo el código SQL) usaremos la orden SAVE, que también supone que tendrá una extensión .sql si no se indica explícitamente otra.

SAVE <fichero> [{CREATE|REPLACE|APPEND}]
La opción CREATE es la opción por defecto, y crea el fichero si no existe. Si existe, dará un error. Para sobreescribirlo deberemos usar la opción REPLACE. La opción APPEND añade la consulta al final del fichero indicado.

En el entorno SQL*Plus WorkSheet estas acciones están también disponibles en las opciones de los menús.


next up previous
Next: Ejecución de secuencias de Up: Edición y ejecución de Previous: Edición y ejecución de
Miguel Rodríguez Penabad 2003-03-17