Bibliografa Complementaria
ndice 1. Introduccin
a) Conexin / Desconexin b) Comandos Bsicos de SQL*Plus
Entorno de Desarrollo
Conexin a SQL*Plus
Arrancar SQL*Plus
Lnea de comandos Accesos Directos a la aplicacin GUI Nombre/Usuario/SID
Escritura de comandos
No distingue maysculas de minsculas Las sentencias SQL acaban con ; Los comandos de SQL*Plus no necesitan smbolo de fin. Utilizar - para un comando de varias lneas
5
2008 Grupo Kybele
CONNECT usuario/password@SID
Cambiar el usuario Cambiar la BD a la que nos conectamos
SHOW USER
Comprobar el usuario actual
Salir/Desconectarse de SQL*Plus
DISCONNECT
Cierra la conexin, pero mantiene abierta la aplicacin
EXIT
Termina la sesin Todos los cambios pendientes realizados sobre la BD son comprometidos Todos los cambios realizados sobre la sesin, se pierden ejemplo: DEFINE _editor
7
2008 Grupo Kybele
DESC[RIBE] nombre_tabla
Proporciona una descripcin de la tabla (u objeto) Permite ver su estructura
USER_TABLES
Tabla del diccionario de datos informacin sobre la propia BD
9
2008 Grupo Kybele
DUAL es una tabla con una nica fila y una nica columna
10
ndice 1. Introduccin
a) Conexin / Desconexin b) Comandos Bsicos de SQL*Plus
Opciones
Utilizar el buffer de SQL*Plus Utilizar cualquier otro editor de texto ASCII
Buffer SQL*Plus
Guarda slo la ltima sentencia SQL (PL/SQL)
Editor de Texto
Es la solucin recomendada Se puede cambiar el editor por defecto
12
El buffer de SQL*Plus
L muestra el contenido del buffer / ejecuta la sentencia que hay en el buffer * seala la lnea actual
13
14
c/texto_ant/texto_nvo Sustituye en la lnea actual texto_ant por texto_nvo c/texto Elimina texto de la lnea actual
I[NPUT]
DEL
SQL> I
SQL> DEL
15
ED[IT]
Invoca al editor de texto por defecto del SO subyacente Abre el editor, cargando el texto del buffer Al salir, el texto modificado queda en el buffer
16
ndice 1. Introduccin
a) Conexin / Desconexin b) Comandos Bsicos de SQL*Plus
EDIT fichero
Abre el fichero fichero.sql en el editor por defecto
GET fichero
Carga en el buffer el contenido de fichero.sql
SPOOL fichero
Arranca el spooling: todo lo que aparece por pantalla se vuelva en fichero
SPOOL
Muestra el nombre del fichero de salida
SPOOL OFF
Desactiva el spooling
19
Editor externo
Opcin ms recomendable La sesin del SQL*Plus permanece activa y visible Escribir el cdigo en un fichero .sql Ejecutar el fichero: @fichero.sql
20
START fichero
Recupera el fichero y ejecuta los comandos que contiene
@fichero
Recupera el fichero y ejecuta los comandos que contiene
21
ndice 1. Introduccin
a) Conexin / Desconexin b) Comandos Bsicos de SQL*Plus
Usar el comando DEFINE para dar valores Pedir valores por pantalla
23
2008 Grupo Kybele
Variables de usuario
DEFINE variable definir una nueva variable UNDEFINE variable eliminar la variable DEFINE muestra todas las variables login.sql creacin de variables en cada sesin
24
Variables de sustitucin
Una variable de sustitucin es un nombre de variable precedido por uno o dos & Cuando el sistema encuentra una de estas variables, ejecuta la sentencia reemplazndola por el valor asignado a dicha variable. Si no se le ha asignado un valor a la variable, ste se pide por pantalla
25
Variables de sustitucin
Se usa el operador && cuando no queremos que el sistema pregunte varias veces por el valor para una misma variable de sustitucin
26
Si queremos mostrar un mensaje por pantalla y asegurarnos de que el usuario lo lea antes de continuar, podemos usar el comando PAUSE
27
ndice 1. Introduccin
a) Conexin / Desconexin b) Comandos Bsicos de SQL*Plus
Salida de SQL*Plus
Nombres de columnas
Maysculas por defecto
29
30
31
32
N de lneas (del resultado de una consulta, incluyendo los nombres de las columnas, las rayas de separacin y las filas) mostradas por pantalla antes de volver a imprimir los nombres de las columnas. Por defecto son 24 No tiene efecto si el PAUSE no est activo (ON)
Para el scroll cuando alcanza el PAGESIZE activo, y espera un ENTER para continuar (para mostrar las siguientes PAGESIZE filas). Establece la mxima longitud de una lnea en pantalla. Por defecto es 100 Salida por pantalla
Mostrar nmero de filas devueltas o afectadas por una sentencia SQL (definir umbral)
2008 Grupo Kybele
33
34
FOR[MAT] formato
Cambia la forma en que se muestra la columna usando otro modelo de formato
HEAD[ING] texto
Define el encabezado para la columna (por defecto se muestra el nombre de la columna) Usar | para incluir varias lneas
NUL[L] texto
Mensaje a mostrar en lugar de valores nulos
35
COLUMN <nombre_columna> FORMAT 999,999.999 Visualiza una columna de tipo NUMBER con el formato
indicado
COLUMN <nombre_columna>
Muestra el formato actual establecido para la columna indicada
36
2008 Grupo Kybele
Salida de SQL*Plus
COLUMN <nombre_columna> FORMAT <formato> COLUMN <nombre_columna> FORMAT An
Importante: los formatos COLUMN <nombre_columna> FORMAT 999,999.999 establecidos slo permanecen Visualiza una columna de tipo NUMBER con el formato indicado COLUMN <nombre_columna> DEFAULT durante la sesin SQL*Plus
Establece el formato por defecto para la columna indicada Elimina el formatoSi queremos que se mantengan para la columna indicada
fichero glogin.sql <nombre_columna> directorio $ORACLE_HOME\sqlplus\admin
Visualiza una columna de tipo CHAR o VARCHAR2 con una anchura de n caracteres alfanumricos
37
5.
6.
Definir sentencia SELECT Guardar en un fichero Aadir comandos de formato antes de la sentencia Incluir carcter de terminacin despus de la sentencia [Eliminar opciones de formato despus de la sentencia] Ejecutar el fichero (START fichero.sql | @fichero.sql)
2008 Grupo Kybele
38
SET LINESIZE60
SET FEEDBACK OFF TTITLE 'Informe de Empleados' BTITLE 'Confidential'
BREAK ON puesto
COLUMN puesto HEADING 'Puesto|Categoria' FORMAT A15 COLUMN nombre HEADING 'Empleado' FORMAT A15 COLUMN salario HEADING 'Salario' FORMAT 99999 REM ** Sentencia SELECT SELECT puesto, nombre, salario FROM empleados WHERE salario < 3000 ORDER BY puesto, nombre / SET FEEDBACK ON 39
2008 Grupo Kybele
Paquete DBMS_OUPTUT
Ofrece algunas facilidades para la salida por pantalla DBMS_OUTPUT.PUT_LINE (Mensaje || variable); Activar con SET SERVEROUTPUT ON
40
SQL vs SQL*Plus
SQL
Un lenguaje Estndar ANSI Palabras clave no admiten abreviatura Las sentencias modifican las tablas y los datos de la BD Las sentencias van al buffer Una o varias lneas van al buffer cada vez. Sin carcter de continuacin El carcter ; indica fin de sentencia e invoca su ejecucin
SQL*Plus
Un entorno Propio de ORACLE Palabras clave admiten abreviatura Los comandos no permiten manipular los datos de la BD Los comandos NO se guardan en el buffer Una lnea cada vez Carcter - indica continuacin de lnea No hay fin de sentencia
41