SQL*Plus
Para entrar a SQL*Plus desde el sistema operativo se debe ejecutar la orden sqlplus, que solicitará un nombre de usuario y
su palabra de paso (password). Mediante las órdenes EXIT o QUIT se hacen permanentes los cambios realizados por la
transacción en curso (commit) y se sale de SQL*Plus, volviendo al sistema operativo. Todas las órdenes de SQL*Plus se pueden
escribir indistintamente en mayúsculas o en minúsculas.
El buffer
Cada vez que el usuario introduce una sentencia SQL, ésta se almacena en un buffer (el buffer de sentencias SQL). Si la
sentencia se termina con un punto y coma (;) se ejecuta inmediatamente. Una vez en el buffer, la sentencia se puede editar y
ejecutar tantas veces como se desee. La orden RUN lista el contenido del buffer y a continuación ejecuta la sentencia. La orden /
ejecuta la sentencia sin listarla previamente.
Las órdenes de SQL*Plus no se almacenan en el buffer y no llevan un carácter terminador (no necesitan punto y coma final).
El buffer almacena una sola sentencia SQL a la vez, de manera que se sobrescribe cada vez que se introduce una nueva
sentencia. La sentencia almacenada en el buffer puede ser editada mediante un sencillo editor de líneas cuyas órdenes son las
siguientes:
RUN
lista el contenido del buffer y ejecuta la sentencia que contiene
/
ejecuta la sentencia que contiene el buffer sin listarla
LIST
lista el contenido completo del buffer
LIST n
lista la línea n y la convierte en la línea actual
APPEND texto
añade un texto a la línea actual
DEL
borra la línea actual
INPUT
espera la introducción de líneas adicionales que serán colocadas inmediatamente
después de la línea actual
CHANGE /texto_1/texto_2 reemplaza en la línea actual texto_1 por texto_2
CHANGE /texto
borra texto en la línea actual
Todas estas órdenes, exceptuando DEL, pueden ser abreviadas utilizando tan sólo su primera letra.
Interfaz con el editor del sistema
También se puede acceder al contenido del buffer mediante el editor del sistema operativo de la máquina con la que se está
trabajando. Para ello se utiliza la orden EDIT. SQL*Plus crea por defecto un fichero llamado afiedt.buf, que almacena el contenido
del buffer (el fichero se encuentra en el directorio desde el que se invocó la ejecución de SQL*Plus). La orden EDIT, o su
abreviatura ED, edita este fichero con el editor del sistema. Cuando se abandona el editor, se devuelve el control a SQL*Plus.
Utilización de ficheros
Ficheros de spool
Los resultados generados por SQL*Plus en pantalla pueden ser capturados permanentemente con la orden SPOOL (SPO),
seguida de un nombre de fichero. Esta orden copia todo lo que aparece en pantalla a dicho fichero. La extensión de este fichero,
por defecto, es .lst. Si el fichero ya existe, lo sobrescribe. La orden SPOOL OFF cierra el fichero. Cuando se sale de SQL*Plus,
los ficheros de spool que no hayan sido cerrados se cerrarán automáticamente.
Ficheros de órdenes
SQL*Plus permite salvar el contenido del buffer en un fichero mediante la orden SAVE (SAV) seguida de un nombre de fichero.
La extensión de este fichero será, por defecto, .sql. El fichero salvado puede ser recuperado y ejecutado mediante la orden START
(STA) o bien @. Para recuperar el fichero sin que se ejecute su contenido, se debe utilizar la orden GET.
La orden EDIT (ED) seguida de un nombre de fichero permite editar un fichero de órdenes. Si no se especifica extensión, se
toma por defecto la extensión .sql.
Las líneas de comentarios en los ficheros de órdenes se comienzan con REMARK (REM). Esta orden solo puede aparecer al
principio de la línea y el comentario termina al final de la línea.
Otras órdenes
HELP : proporciona ayuda en pantalla sobre las ordenes de SQL y SQL*Plus.
DESCRIBE (DESC) nombre_tabla : da la definición de las columnas de la tabla especificada.
HOST (!) [orden] : pasa la orden al sistema operativo para que este la ejecute; si no se le da una orden, ejecuta un
shell, del que se debe salir mediante exit para volver a SQL*Plus.
Generación de informes
SQL*Plus devuelve y formatea los datos recuperados por la sentencia SQL para mostrarlos al usuario en pantalla. El formato
que utiliza es de tipo listado tabulado. Las órdenes de SQL*Plus que permiten formatear un informe no se guardan en el buffer, por
lo que este permanece intacto y tienen efecto hasta que se cancelen, se cambien o se abandone la sesión de trabajo con SQL*Plus.
Parámetros de entorno
Cada parámetro de entorno se almacena como una variable global y tiene un valor por defecto. La orden SET define los valores
de varias variables SQL*Plus, los cuales se pueden ver mediante la orden SHOW (SHO).
SET LINESIZE n : fija el número máximo de caracteres por línea a n (80 por defecto)
SET PAGESIZE n : fija el número de filas de la salida antes de empezar una nueva página (14 por defecto)
SET HEADING [ON|OFF] : activa y desactiva la utilización de cabeceras de columnas
SET NULL "texto" : indica el texto que debe aparecer cuando se encuentran nulos (" " por defecto)
SET FEEDBACK [n|ON|OFF] : define el número mínimo de filas recuperadas por una consulta para que genere el
mensaje "n rows selected" (6 y ON por defecto)
SET PAUSE [ON|OFF] : controla el scroll de la pantalla; con ON se realiza una pausa antes de cada página;
pulsando return se obtiene la página siguiente
Ordenes de formato
Las especificaciones de formato se almacenan como variables locales. La operación de cada especificación puede
activarse/desactivarse en cualquier momento. Algunas de estas órdenes son:
TTITLE "titulo de cabecera" : pone título de cabecera al resultado de la consulta
BTITLE "pie de pagina" : pone pie de página al resultado de la consulta
COLUM columna : permite especificar los atributos con los que se visualizará la columna especificada:
HEADING "cabecera" : cambia la cabecera de la columna
[WRAPPED/WORD-WRAPPED/TRUNCATED] : especifica qué hacer en la salida si el contenido de la columna
tiene una anchura mayor que la especificada para la misma
FORMAT
An : n caracteres de anchura (para columnas de tipo carácter)
999.99 : anchura de columnas numéricas (3 dígitos antes del punto decimal y 2 detrás)
NULL 'texto' : especifica el texto que debe reemplazar a un nulo en la columna
LIKE otra_col : copia todas las órdenes de formato que se han especificado para otra columna
ON|OFF : activa o desactiva las órdenes de formato especificados para la columna
OFF : restaura los valores por defecto
ON : restaura los valores especificados
COLUMN columna : muestra las especificaciones de formato de la columna