0% encontró este documento útil (0 votos)
32 vistas20 páginas

BD IntroSQLPlus

El documento es una introducción a SQL*Plus, un entorno de desarrollo para gestionar bases de datos y ejecutar comandos SQL. Se abordan temas como la conexión y desconexión, comandos básicos, uso del buffer, interacción con el usuario y salida de SQL*Plus. Además, se incluyen detalles sobre la edición de comandos, manejo de ficheros y personalización de la salida.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas20 páginas

BD IntroSQLPlus

El documento es una introducción a SQL*Plus, un entorno de desarrollo para gestionar bases de datos y ejecutar comandos SQL. Se abordan temas como la conexión y desconexión, comandos básicos, uso del buffer, interacción con el usuario y salida de SQL*Plus. Además, se incluyen detalles sobre la edición de comandos, manejo de ficheros y personalización de la salida.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Introducción a SQL Plus

© Kybele SQL*Plus - 1

Bibliografía Complementaria
Gennick, J. “Oracle SQL*Plus: The Definitive Guide”
(2ª edición), O’Reilly, 2004.

SQL*Plus User's Guide and Reference


Release 9.2 (ORACLE.COM)

Abramson, Abbey y Corey, “Oracle Database 10g: A


Beginner's Guide”, McGrawHill, 2006

© Kybele SQL*Plus - 2

1
Índice

1. Introducción
a) Conexión / Desconexión

b) Comandos Básicos de SQL*Plus

2. Uso del Buffer

3. Trabajar con ficheros

4. Interacción con el usuario

5. Salida de SQL*Plus

© Kybele SQL*Plus - 3

Entorno de Desarrollo

‰ SQL*Plus es un entorno de desarrollo


€ Conexión a Bases de Datos
€ Elaborar y probar sentencias SQL

€ Soporta su propio lenguaje de comandos

€ Gestionar Bases de Datos

€ Escribir scripts

€ Generar informes básicos

© Kybele SQL*Plus - 4

2
Conexión a SQL*Plus
‰ Arrancar SQL*Plus
€ Línea de comandos
€ Accesos Directos a la
aplicación GUI
€ Nombre/Usuario/SID

‰ Escritura de comandos
€ No distingue mayúsculas de minúsculas
€ Las sentencias SQL acaban con ‘;’
€ Los comandos de SQL*Plus no necesitan símbolo
de fin.
€ Utilizar ‘-’ para un comando de varias líneas
© Kybele SQL*Plus - 5

Comando CONNECT (SQL*Plus)

‰ CONNECT usuario/password@SID
€ Cambiar el usuario
€ Cambiar la BD a la que nos conectamos

‰ SHOW USER
€ Comprobar el usuario actual

© Kybele SQL*Plus - 6

3
Salir/Desconectarse de SQL*Plus

‰ DISCONNECT
€ Cierra la conexión, pero mantiene abierta la
aplicación
‰ EXIT
€ Termina la sesión
€ Todos los cambios pendientes realizados sobre la
BD son comprometidos
€ Todos los cambios realizados sobre la sesión, se
pierden
• ejemplo: DEFINE _editor

© Kybele SQL*Plus - 7

Comando DESCRIBE (SQL*Plus)

‰ DESC[RIBE] nombre_tabla
€ Proporciona una descripción de la tabla (u objeto)
€ Permite ver su estructura

© Kybele SQL*Plus - 8

4
Sentencia SELECT (SQL)
‰ Recuperar datos de una tabla

‰ USER_TABLES
€ Tabla del diccionario de datos Æ
información sobre la propia BD
© Kybele SQL*Plus - 9

DUAL – Tabla para trabajar con ORACLE

‰ DUAL es una tabla con una única fila y una única


columna

‰ Se utiliza para realizar pruebas, obtener resultados …

© Kybele SQL*Plus - 10

5
Índice

1. Introducción
a) Conexión / Desconexión

b) Comandos Básicos de SQL*Plus

2. Uso del Buffer

3. Trabajar con ficheros

4. Interacción con el usuario

5. Salida de SQL*Plus

© Kybele SQL*Plus - 11

Edición de comandos en SQL*Plus

‰ Opciones
€ Utilizar el buffer de SQL*Plus
€ Utilizar cualquier otro editor de texto ASCII

‰ Buffer SQL*Plus
€ Guarda sólo la última sentencia SQL (PL/SQL)
‰ Editor de Texto
€ Es la solución recomendada
€ Se puede cambiar el editor por defecto

© Kybele SQL*Plus - 12

6
El buffer de SQL*Plus

‰ ‘L’ muestra el contenido del buffer


‰ ‘/’ ejecuta la sentencia que hay en el buffer

‰ ‘*’ señala la línea actual

© Kybele SQL*Plus - 13

Editar el contenido del Buffer

‰ ‘N’ Æ cambiar línea actual


‰ C[HANGE]/texto_anterior/texto_nuevo Æ
modificar línea actual

© Kybele SQL*Plus - 14

7
Otros comandos para trabajar con el Buffer
L Muestra el contenido del buffer SQL> L

Ln Muestra el texto de la línea ‘n’ SQL> L 3


L* Muestra el texto de la línea actual SQL> L *

Lxy Muestra las líneas X a Y SQL> L 10 18


a texto Añade texto al final de la línea actual SQL> a where nombre = ‘BD’

c/texto_ant/texto_nvo Sustituye en la línea actual texto_ant por SQL> c/*/nombre


texto_nvo
c/texto Elimina texto de la línea actual SQL> c/titulacion,
I[NPUT] Añade una línea al buffer, de forma que se SQL> I
pueda seguir escribiendo
DEL Borra la líne actual SQL> DEL

© Kybele SQL*Plus - 15

Comando EDIT (SQL*Plus)

‰ 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

‰ Cambiar editor por defecto

€ Añadir esa entrada en


$ORACLE_HOME/sqlplus/admin/glogin.sql

© Kybele SQL*Plus - 16

8
Índice

1. Introducción
a) Conexión / Desconexión

b) Comandos Básicos de SQL*Plus

2. Uso del Buffer

3. Trabajar con ficheros

4. Interacción con el usuario

5. Salida de SQL*Plus

© Kybele SQL*Plus - 17

Comandos de SQL*Plus: trabajar con ficheros

‰ SAV[E] [FILE] fichero[.ext]


€ Opciones: [CRE[ATE]|REP[LACE]|APP[END]]
€ Guarda el contenido del buffer en ‘fichero.sql’

‰ EDIT fichero
€ Abre el fichero ‘fichero.sql’ en el editor por
defecto
‰ GET fichero
€ Carga en el buffer el contenido de ‘fichero.sql’
‰ [Cambiar working directory]
© Kybele SQL*Plus - 18

9
Comandos de SQL*Plus: trabajar con ficheros

‰ 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

© Kybele SQL*Plus - 19

Usar un editor externo en SQL*Plus

‰ Editor externo
€ Opción más recomendable
€ La sesión del SQL*Plus permanece activa y visible

€ Escribir el código en un fichero ‘.sql’

€ Ejecutar el fichero: @fichero.sql

© Kybele SQL*Plus - 20

10
Ejecutar scripts en SQL*Plus

‰ START fichero
€ Recupera el fichero y ejecuta los comandos que
contiene
‰ @fichero
€ Recupera el fichero y ejecuta los comandos que
contiene
‰ Se pueden utilizar parámetros
€ @drop_table mitabla

© Kybele SQL*Plus - 21

Índice

1. Introducción
a) Conexión / Desconexión

b) Comandos Básicos de SQL*Plus

2. Uso del Buffer

3. Trabajar con ficheros

4. Interacción con el usuario

5. Salida de SQL*Plus

© Kybele SQL*Plus - 22

11
Interacción con el usuario en SQL*Plus

‰ Definir variables de usuario


‰ Dar valores a las variables de usuario

‰ Usar el comando DEFINE para dar valores

‰ Pedir valores por pantalla

© Kybele SQL*Plus - 23

Variables de usuario

€ DEFINE variable Æ definir una nueva variable


€ UNDEFINE variable Æ eliminar la variable

€ DEFINE Æ muestra todas las variables

€ login.sql Æ creación de variables en cada sesión

© Kybele SQL*Plus - 24

12
Variables de sustitución
9 Una variable de sustitución es un nombre de variable precedido
por uno o dos ‘&’
9 Cuando el sistema encuentra una de estas variables, ejecuta la
sentencia reemplazándola por el valor asignado a dicha variable.
9 Si no se le ha asignado un valor a la variable, éste se pide por
pantalla

© Kybele SQL*Plus - 25

Variables de sustitución
9 Se usa el operador && cuando no queremos que el sistema
pregunte varias veces por el valor para una misma variable de
sustitución

© Kybele SQL*Plus - 26

13
Pedir valores por pantalla
9 Con ACCEPT podemos pedir un valor por pantalla
ACCEPT variable [datatype] [FORMAT format] [PROMPT text] [HIDE]

9 Si queremos mostrar un mensaje por


pantalla y asegurarnos de que el
usuario lo lea antes de continuar,
podemos usar el comando PAUSE

© Kybele SQL*Plus - 27

Índice

1. Introducción
a) Conexión / Desconexión

b) Comandos Básicos de SQL*Plus

2. Uso del Buffer

3. Trabajar con ficheros

4. Interacción con el usuario

5. Salida de SQL*Plus

© Kybele SQL*Plus - 28

14
Salida de SQL*Plus

‰ Justificación por defecto


€A la izquierda: fechas y tipos carácter
€ A la derecha: tipos numéricos

‰ Nombres de columnas
€ Mayúsculas por defecto

© Kybele SQL*Plus - 29

Salida de SQL*Plus: uso de alias


‰ Cambiar el encabezado de una columna
€ Útil cuando se realizan cálculos
€ El alias se pone después del nombre de la columna

€ Opcionalmente se puede utilizar AS

€ Utilizar comillas dobles si incluye espacios,


caracteres especiales o se quiere asegurar el
comportamiento de may/min

© Kybele SQL*Plus - 30

15
Salida de SQL*Plus: concatenar columnas

‰ Concatenar el valor de una o más columnas


€ Símbolo utilizado: ||
€ Crea una columna que es el resultado de
concatenar las columnas seleccionadas

© Kybele SQL*Plus - 31

Salida de SQL*Plus: uso de literales


‰ Incluir literales en el resultado de una consulta
€ Al construir la consulta se incluye una expresión
entre comillas SIMPLES y se utiliza el operador ||
€ La expresión se incluye en la salida para cada una
de las filas que devuelve la consulta

© Kybele SQL*Plus - 32

16
Salida de SQL*Plus: comandos SET
‰ SET COLSEP {“ “ | texto}
€ Muestra un título y subtítulo en cada página
‰ SET PAGES[IZE] {24 | n}
€ Nº de líneas (del resultado de una consulta,
incluyendo los nombres de las columnas, las rayas
de separación 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)
‰ SET PAU[SE] {OFF | ON}
€ Para el scroll cuando alcanza el PAGESIZE activo,
y espera un ENTER para continuar (para mostrar
las siguientes PAGESIZE filas).
‰ SET LIN[ESIZE] {80 | n}
€ Establece la máxima longitud de una línea en
pantalla. Por defecto es 100
‰ SET TERMOUT {ON | OFF}
€ Salida por pantalla
‰ SET UNDERLINE {‘texto’}
€ Carácter utilizado para subrayar los encabezados
de columna
‰ SET FEEDBACK {6 | n | OFF | ON}
€ Mostrar número de filas devueltas o afectadas por
una sentencia SQL (definir umbral)

© Kybele SQL*Plus - 33

Salida de SQL*Plus: comandos de formato


‰ COLUMN [opciones]
‰ TITTLE [texto |OFF | ON]
€ Muestra un título en cada página
‰ BTITTLE [texto | OFF | ON]
€ Muestra un subtítulo en cada página

© Kybele SQL*Plus - 34

17
Salida de SQL*Plus: COLUMN
‰ CLE[AR]
€ elimina las opciones de formato previamente definidas para esta
columna
‰ 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 líneas
‰ JUST[IFY] {left | center | right}
€ Define el tipo de alineación de la columna
‰ NUL[L] texto
€ Mensaje a mostrar en lugar de valores nulos

© Kybele SQL*Plus - 35

Salida de SQL*Plus: COLUMN (opciones de formato)

‰ COLUMN <nombre_columna> FORMAT <formato>


€ COLUMN <nombre_columna> FORMAT An
• Visualiza una columna de tipo CHAR o VARCHAR2 con una
anchura de n caracteres alfanuméricos
€ COLUMN <nombre_columna> FORMAT 999,999.999
• Visualiza una columna de tipo NUMBER con el formato indicado
‰ COLUMN <nombre_columna> CLEAR
€ Elimina el formato para la columna indicada
‰ COLUMN <nombre_columna>
€ Muestra el formato actual establecido para la columna
indicada

© Kybele SQL*Plus - 36

18
Salida de SQL*Plus
‰ COLUMN <nombre_columna> FORMAT <formato>
‰ COLUMN <nombre_columna> FORMAT An
€
Importante: los formatos
Visualiza una columna de tipo CHAR o VARCHAR2 con una anchura
de n caracteres alfanuméricos
‰ COLUMN establecidos
<nombre_columna> sóloFORMAT
permanecen
999,999.999
€Visualiza una columna de tipo NUMBER con el formato indicado
‰
durante la sesión SQL*Plus
COLUMN <nombre_columna> DEFAULT
€ Establece el formato por defecto para la columna indicada
‰ COLUMN <nombre_columna>
Si queremos que CLEAR se mantengan
€ Elimina el formato· para
fichero glogin.sql
la columna indicada
‰ COLUMN <nombre_columna>
·directorio $ORACLE_HOME\sqlplus\admin
€ Muestra el formato actual establecido para la columna indicada

© Kybele SQL*Plus - 37

Creación de informes con SQL*Plus

1. Definir sentencia SELECT


2. Guardar en un fichero
3. Añadir comandos de formato antes de la sentencia
4. Incluir carácter de terminación después de la
sentencia
5. [Eliminar opciones de formato después de la
sentencia]
6. Ejecutar el fichero
(START fichero.sql | @fichero.sql)

© Kybele SQL*Plus - 38

19
Creación de informes con SQL*Plus
SET PAGESIZE 37
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

© Kybele SQL*Plus - 39

SQL vs SQL*Plus
‰ SQL ‰ SQL*Plus
€ Un lenguaje € Un entorno
€ Estándar ANSI € Propio de ORACLE
€ Palabras clave no admiten € Palabras clave admiten
abreviatura abreviatura
€ Las sentencias modifican las € Los comandos no permiten
tablas y los datos de la BD manipular los datos de la BD
€ Las sentencias van al buffer € Los comandos NO se guardan
€ Una o varias líneas van al buffer en el buffer
cada vez. € Una línea cada vez
€ Sin carácter de continuación € Carácter ‘-’ indica continuación
€ El carácter ‘;’ indica fin de de línea
sentencia e invoca su ejecución € No hay fin de sentencia

© Kybele SQL*Plus - 40

20

También podría gustarte