Informes SQL Plus
Informes SQL Plus
Informes SQL Plus
y obtener informes. No obstante, los datos obtenidos en las consultas se pueden presentar de forma ms elegante. En esta unidad se explica como utilizar SQL*Plus para crear listados formateados, controlando los ttulos del listado, las cabeceras de las columnas, las lneas de totales y subtotales, etc. La salida formateada de una consulta se puede guardar en un fichero para ejecutarlo que vez que se necesite consultar el listado.
teclear la orden EDIT seguida de la ruta y el nombre del archivo en el que se almacenarn esas rdenes.
notas: NOTEPAD.EXE) Si no existe el archivo, nos preguntar si queremos crearlo y pulsamos SI.
entorno SQL*Plus Permite consultar y cambiar el valor de las variables del entorno SQL*Plus. Para dar valor a las variables se utiliza SET: SET variable valor
Para visualizar su valor utilizamos SHOW:
SHOW variable
entorno SQL*Plus En el listado se usan las variables HEADSEP, LINESIZE, PAGESIZE y NEWPAGE.
SET HEADSEP |. El smbolo que se coloca a la
derecha de SET HEADSEP es el carcter que se usar para dividir un ttulo en dos o ms lneas. SET LINESIZE. Con esta orden se define el nmero mximo de caracteres que pueden aparecer en una lnea. Por ejemplo, definir 50 caracteres por lnea:
SET LINESIZE 50
entorno SQL*Plus
SET PAGESIZE. Con esta orden se define el nmero
de lneas por cada pgina, incluyendo TTITLE y BTITLE, las cabeceras de los campos y cualquier lnea en blanco. Generalmente este nmero es 66. Por ejemplo, definir 50 lneas por pgina:
SET PAGESIZE 50
entorno SQL*Plus
SET NEWPAGE. Esta orden imprime lneas en
blanco antes de la lnea superior de cada pgina del informe, donde est la fecha y el nmero de pgina.
Por ejemplo, definir un informe que comience con 10
entorno SQL*Plus
SET TERMOUT OFF y SET TERMOUT ON.
entorno SQL*Plus
SET SQLCASE UPPER. Esta orden indica a
SQL*Plus que convierta el texto introducido por teclado (con la orden ACCEPT) a maysculas.
SET PAUSE ON. Permite controlar el desplazamiento
de pgina Con estas rdenes podemos ttulos en la parte superior e inferior de cada pgina del informe. Por defecto, el ttulo aparece centrado, teniendo en cuenta el tamao de la lnea definido con LINESIZE. Podemos cambiar la alineacin del ttulo mediante las clusulas LEFT, RIGHT y CENTER. TTITLE CENTER Listado empleados BTITLE RIGHT Por departamento
despus del ttulo se usa la orden SKIP n+1, donde n es el nmero de lneas que se van a saltar. Por ejemplo, para saltar una lnea despus de escribir el ttulo: TTITLE CENTER Listado empleados SKIP 2
primera lnea del listado la fecha y el n de pgina, si se usa SKIP, esta primera lnea no aparecer.
SQL> TTITLE LEFT APELLIDO EMPLEADOSCENTER Usuario: SQL.USER SKIP 1LEFT Pgina: FORMAT 999 SQL.PNO
Se crear el siguiente ttulo superior:
Usuario: SCOTT
mostrar visualizando previamente el ttulo que se ha definido como cabecera del listado.
SQL> SELECT APELLIDO FROM EMPLEADO; APELLIDO EMPLEADOS Pgina:1 APELLIDO ------------------CEREZO REY MUOZ Usuario: SCOTT
nueva cabecera del campo que, adems, usa el carcter separador | para indicar que la cabecera del campo aparecer en dos lneas.
Alfanumrico, y el nmero que sigue a continuacin representa la cantidad de caracteres. Si la longitud del campo VENTAS es mayor de 15, aparecer dividida en dos lneas.
dgitos, 2 decimales, el punto de los miles y la coma de los decimales. Si la columna TOTAL tiene ms de 4 dgitos en alguna fila, aparecern caracteres #.
An Establece el ancho de columna en nmero de caracteres 9 Dgitos con supresin de ceros 0 Dgitos dejando los ceros $ Smbolo de dlar $ L Moneda local . D Posicin del punto decimal , G Separador de miles | Inserta un salto de lnea
VENTAS. Si la longitud del campo VENTAS es mayor de 15, los caracteres a partir de esa posicin no aparecern.
columna que se desee. Esta sentencia hace rupturas en el SELECT de una tabla segn los valores de un campo de dicha tabla. Es muy til en el caso de querer dividir en pequeas tablas una tabla segn el valor que tenga una columna.
mostrar una vez, en lugar de aparecer fila a fila. Cuando cambie la descripcin, se har un salto de 2 lneas, especificado en la clusula SKIP. La orden BREAK ON necesita la clusula ORDER BY de la sentencia SELECT para que la salida del listado sea la deseada.
eliminar con CLEAR BREAKS. Slo puede haber una orden BREAK activa, por lo que si se especifican varias rupturas, han de especificarse todas en una sola orden.
seleccionados.
COMPUTE {SUM,AVG,COUNT,MAX,MIN,STD,VAR,NUM} OF {expresin|campo} ON {expresin|campo}
expresin: cuando cambia el valor de expresin. row: en cada cambio de registro (fila). page: en cada final de pgina. report: al final de un informe o consulta.
especificados en la seccin indicada por BREAK ON. No se puede usar COMPUTE sin BREAK ON. BREAK ON DESCRIPCION SKIP 2 COMPUTE SUM OF VENTAS ON DESCRIPCION COMPUTE SUM OF IMPORTE ON DESCRIPCION
introducir cierta informacin por teclado, como por ejemplo el n de departamento que se va a listar. La introduccin de valores se realiza con ACCEPT.
ACCEPT variable [TIPO DE DATO] [FORMAT formato] [PROMPT texto|NOPROMPT] [HIDE]
de la variable debe llevar un ampersand (&) delante. Si la variable se define como CHAR debe ir encerrada entre comillas simples.
SQL> SELECT * FROM EMPLEADO WHERE N_EMPLEADO = &num_emp AND USUARIO = &nom_usuario;
datos por teclado, la variable queda definida y podremos verla con DEFINE. Existe la posibilidad de usar el ampersand como prefijo delante de una variable que no est definida, en este caso se interpreta la entrada de teclado pero no se almacena su valor.
SQL> SELECT * FROM EMPLEADO WHERE DPTO = &NUMDPTO;