Nvidal’s Blog

Just another WordPress.com weblog

Curso Basico de SQL (Mas SQL*PLUS)

MAS SQL*Plus

 En este apartado vamos a profundizar un poco en las otras posibilidades que nos brinda SQL*Plus en los:

  • ficheros de comandos, y
  • generación de informes,

Ficheros de Comandos

Aunque ya vimos una introducción a los ficheros de comandos en anteriormente, vamos ahora a profundizar un poco en las posibilidades que nos ofrece SQL*Plus.

En un fichero de comandos se pueden incluir:

  • líneas de comentarios,
  • líneas de ejecución,
  • líneas de comandos SQL, y
  • líneas de comandos SQL*Plus.

Líneas de Comentarios

Se pueden introducir comentarios en un archivo de comandos de tres maneras:

  • Utilizando del comando REM del SQL*Plus.
  • Utilizando los delimitadores de comentario de SQL /* y */.
  • Utilizando los símbolos de comentario PL/SQL “__”.

Líneas de Ejecución

Constan de una única barra inclinada, “/”, y se introducen a continuación de cada sentencia SQL indicando su ejecución.

Sustituyen al punto y coma, “;” al final de las sentencias SQL.

Líneas de Comandos SQL

Se puede introducir cualquiera de los comandos SQL enumerados en este curso, y se ejecutarán de manera secuencial.

Se permite el anidamiento de los ficheros de comandos.

Líneas de Comandos SQL*Plus

SQL*Plus aporta una serie de posibilidades al lenguaje SQL que le acerca un poco mas a lo que entendemos como un lenguaje de programación.

Se pueden definir constantes y variables, capturar datos del teclado, introducir parámetros en la llamada de un archivo de comandos, y alguna cosa más.

Variables de Usuario

Se pueden definir Variables de usuario con el comando DEFINE

DEFINE Variable = valor

Para borrar una variable se utiliza el comando UNDEFINE

UNDEFINE variable

 Como ejemplo se puede definir la variable OFICIO

SQL> define oficio=analista

 Variables de Sustitución

Las variables de sustitución son un nombre de variable de usuario con el símbolo & delante. Cuando SQL*Plus detecta una variable de sustitución en un comando, ejecuta el comando tomando el valor de la variable.

Esto se puede ver en el ejemplo, donde preguntamos por los empleados que son analistas:

SQL> define oficio=Analista

SQL> define tabla=emp

SQL> select nombre, oficio from &tabla where oficio=’&oficio’;

old   1: select nombre, oficio from &tabla where oficio=’&oficio’

new   1: select nombre, oficio from emp where oficio=’Analista’

 NOMBRE     OFICIO

———- ———–

Sastre     Analista

Recio      Analista

 Captura de Datos desde el Terminal

En muchas ocasiones es necesario recoger datos desde un terminal, que luego serán utilizados en el archivo de comandos. Para realizarlo se pueden utilizar dos medios: las variables de sustitución o los parámetros en la línea de comandos.

Cuando SQL*Plus reconoce una variable de sustitución sin valor asignado se lo pide al usuario:

 SQL> select * from dept where dname=’&Nombre_depto’;

Enter value for nombre_depto: SALES

old   1: select * from dept where dname=’&Nombre_depto’

new   1: select * from dept where dname=’SALES’

    DEPTNO DNAME          LOC

——— ————– ————-

       30 SALES          CHICAGO

 Si se desea que SQL*Plus pregunte por el valor de la variable al usuario sólo la primera vez que se encuentra con ella, se colocará “&&” delante de la variable de usuario.

También se pueden utilizar hasta nueve parámetros en la línea de comandos cuando se llama a la ejecución de un archivo de comandos.

En el archivo de comandos nos referiremos a los parámetros con las variables &1, &2, … ,&9 que se corresponden posicionalmente con ellos.

Desde el archivo de comandos se puede hacer referencia a los parámetros cualquier número de veces y en cualquier orden.

Comandos de Comunicación con el Usuario

Los siguientes comandos proporcionan un medio de comunicación con el usuario:

  • PROMPT: presenta un mensaje en la pantalla.
  • ACCEPT: Solicita un valor y lo almacena en la variable de usuario que se especifique.
  • PAUSE: Obliga al usuario a pulsar Return después de leer un mensaje.

Para ver cómo funcionan sirve el siguiente ejemplo:

prompt Buscar los datos de un empleado.

pause Pulse Return.

accept nombre_emp prompt ‘Empleado? ‘

SQL> select * from emp where ename=’&nombre_emp’;

Otros Comandos

Los siguientes comandos también se pueden incluir en un archivo de comandos:

  • CONNECT: para conectarse como otro usuario.
  • HELP: para obtener ayuda en línea.
  • EXIT: para dejar SQL*PLus y salir al Sistema Operativo.
  • DESCRIBE ó DESC: para obtener información sobre la estructura de una tabla.
  • HOST o !: para ejecutar un comando del Sistema Operativo.

Generación de Informes

Con SQL*Plus podemos dar forma a los resultados de las consultas para producir un informe. Podremos:

  • Cambiar las cabeceras de las columnas.
  • Dar forma a las columnas de tipo number, varchar2, date y long.
  • Copiar y listar atributos de presentación de las columnas.
  • Suprimir valores duplicados e introducir espacios para mejorar la presentación.
  • Realizar y mostrar cálculos (totales, medias, mínimos, máximos, etc.).
  • Definir las dimensiones de las páginas.
  • Ubicar títulos en la cabecera y pie de las páginas.
  • Introducir la fecha o el número de página en los títulos.

Pero de todo esto sólo vamos a ver el modo de realizar las operaciones más comunes y sencillas.

Básicamente, el formato con el que se van a presentar los resultados de las consultas dependen de unos parámetros y de unos comandos.

Parámetros

  • SET LINESIZE: pone el número máximo de caracteres por línea. Por defecto vale 80 y el máximo es 999.
  • SET PAGESIZE: pone el número de filas de la salida antes de empezar una nueva página. Por defecto es 25. Incluye el título y las líneas de pausa.
  • SET HEADING [ON | OFF]: Activa/desactiva la utilización de encabezados de columnas. Por defecto está activado.
  • SET NULL texto: Indica la cadena de caracteres que hay que colocar en sustitución de los valores NULL. Por defecto es “”.
  • SET ECHO [ON | OFF]: Activa/desactiva la visualización de los comandos que SQL*Plus ejecuta según van siendo tratados. Por defecto está desactivada.
  • SET FEEDBACK [ n | ON | OFF]: Muestra el número de registros recuperados en cada consulta cuando se recuperan n o más registros. ON se pueden considerar como n=1, y OFF como n=0.
  • SET VERIFY [ON | OFF]: Controla la salida de confirmación para los valores de las variables de sustitución. Por defecto está activado.

Comandos

  • TTITLE: formación del encabezado de página.
  • BTITLE: formación del pie de página.
  • COLUMN: formatear cada columna.
  • BREAK: puntos de ruptura en los listados.
  • COMPUTE: realizar cálculos con las columnas.

septiembre 28, 2009 - Posted by | Oracle

Aún no hay comentarios.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: