PDF de programación - Capítulo 1 - SQL*Plus

<<>>
Imágen de pdf Capítulo 1 - SQL*Plus

Capítulo 1 - SQL*Plusgráfica de visualizaciones

Actualizado el 11 de Julio del 2017 (Publicado el 5 de Julio del 2017)
1.885 visualizaciones desde el 5 de Julio del 2017
76,6 KB
5 paginas
Captulo 1

SQL*Plus

SQL*Plus es una herramienta que nos ofrece Oracle para interactuar con sus bases de datos. Existen varias
versiones de este producto, por lo que podemos encontrar la herramienta sqlplus, que es interactiva pero solo
en modo texto, o SQL*Plus WorkSheet que ofrece una interfaz mas amigable en un entorno graco. Esta ultima
se puede arrancar en el entorno Linux de docencia (maquina oracle) mediante el comando oemapp worksheet.
La mayora de la personalizacion del entorno, para todas las versiones, se hace a traves de parametros que
pueden ser visualizados y modicados. Para ver los parametros se usa la orden SHOW (SHOW ALL muestra todos
los parametros) y para modicarlos se utiliza SET <parametro> <valor>.

En este captulo estudiaremos las operaciones mas comunes, as como algunas de las opciones de personali-
zacion del entorno, indicando los comandos necesarios o las opciones de menu o ventanas de dialogo disponibles
para cada caso.

1.1. Conexion y desconexion a una base de datos

La conexion a una base de datos requiere varios parametros:

login: Es el nombre de usuario que se conecta.

password: La clave (secreta) del usuario.

Servicio: El nombre del servicio o base de datos al que se desea conectar. Si no se indica ninguna, se conectara a

la base de datos por defecto del sistema.

Conectar como: Indica que papel va a realizar el usuario cuando se conecte. Puede ser normal, SYSOPER o
SYSDBA. El modo normal se usa para trabajar contra la base de datos como un usuario normal, mientras
que los otros dos se usan para tareas de administracion de la base de datos. que los otros dos lo hacen con

En SQL*Plus WorkSheet se realiza la conexion pulsando el boton con el dibujo de un enchufe, o bien en la opcion
del menu, y abre el cuadro de dialogo de la Figura 1.1 en el que se pueden introducir los cuatro parametros.

Figura 1.1: Ventana de entrada a SQL*Plus WorkSheet

En sqlplus se indicara con el comando CONNECT, que tiene la siguiente sintaxis:

1

2

CAPITULO 1. SQL*PLUS

CONNECT [usuario/clave[@servicio][AS {SYSOPER|SYSDBA}]]

En este caso, solo la palabra CONNECT es imprescindible. Si no se indica nada mas, el sistema pide el login y el
password, y se conecta como un usuario normal a la base de datos global (base de datos o servicio por defecto)
de Oracle. El comando CONNECT tambien se puede hacer en SQL*Plus WorkSheet, pero no de forma interactiva.
Es decir, se admitiran las tres ultimas sentencias del siguiente ejemplo, pero no la primera ya que requerira que
el usuario teclease el login y el password, y en SQL*Plus WorkSheet este tipo de interactividad no es posible,
ya que el usuario teclea los comandos en una ventana y la respuesta se da en otra.

Ejemplos de conexiones:

CONNECT

-- Pide login/password y se conecta a la BD por defecto,
-- como usuario normal

CONNECT scott/tiger -- Se conecta como usuario scott con permisos normales

-- a la BD por defecto

CONNECT SYSTEM/manager@EMPRESA -- Se conecta como usuario SYS con permisos

-- normales la BD por EMPRESA

CONNECT SYSTEM/manager@EMPRESA AS SYSDBA -- Se conecta como usuario SYS con

-- permisos de DBA a la BD por EMPRESA

Usando sqlplus los parametros de conexion se pueden pasar directamente como argumentos del programa, en
la lnea de comandos. As, ejecutando sqlplus SYSTEM/manager@EMPRESA se ejecutara el programa seguido de
la tercera sentencia de conexion del ejemplo anterior.

Para desconectarse del sistema (sin salir del programa), usaremos el comando DISCONNECT. Para abandonar

el programa existe el comando QUIT, y para SQL*Plus WorkSheet hay la opcion Exit en el menu File.

En la maquina oracle de docencia se ha implementado el control de acceso a la base de datos utilizando

los usuarios del sistema operativo. Por ello, para entrar en sqlplus se hara

$ sqlplus /

Si se elige SQL*Plus WorkSheet, se deben dejar en blanco todos los campos, lo que es equivalente al comando
CONNECT /.

1.2. Guardar una sesion con SQL*Plus

Si deseamos guardar tanto lo que nosotros tecleamos como la respuesta de SQL*Plus en una sesion de usuario

(o parte de ella), utilizaremos el comando SPOOL:

SPOOL <nombre_fichero>: Empieza a grabar, en el chero indicado (si no se pone extension, se añade
.lst automaticamente), tanto lo que el usuario teclea como lo que el sistema responde. El nombre del
chero, <nombre_fichero> puede incluir un path absoluto (c:\sesion.lst o /home/scott/sesion.lst),
un path relativo, o simplemente el nombre del chero (sesion.lst). En este caso, el chero se guarda en
el directorio en donde se arranca por defecto SQL*Plus WorkSheet (en Windows NT) o en el directorio
desde el que se llama al programa si se arranca desde una lnea de comandos.

Si el chero <nombre_fichero> existe, se sobreescribe.

SPOOL OFF: Detiene la grabacion y cierra el chero en el que se estaba grabando.

SPOOL OUT: Detiene la grabacion, cierra el chero y lo manda a la impresora por defecto del sistema.

Ademas, en la herramienta SQL*Plus WorkSheet, en el menu Edit existe la opcion Save Output As... que
guarda todo lo que el sistema ha respondido a nuestros comandos (es decir, el contenido de la ventana inferior),
y Save Input As... que guarda el contenido de la ventana superior, es decir, la consulta que se esta editando
actualmente (o la que se acaba de ejecutar si no se ha borrado). Existe tambien la opcion de borrar el contenido
de esas ventanas.

1.3. CONFIGURAR EL TAMA ÑO DE LA PANTALLA/P AGINA

3

1.3. Congurar el tamaño de la pantalla/pagina

SQL*Plus nos permite visualizar los datos de una consulta en pantalla, pero tambien nos permite componer
informes relativamente complejos que podemos ver y/o imprimir. As, el tamaño de la pantalla o pagina va
a determinar el aspecto nal del mismo: el numero de columnas (ancho de pagina o tamaño de lnea) va a
determinar el aspecto de las tablas (si la lnea es mas larga que el tamaño indicado, la tabla sera muy difcil
de leer), y el numero de las (tamaño de pagina) va a determinar donde van las cabeceras y pies de pagina,
ademas del hecho de que si una tabla (consulta) ocupa mas de una pagina, la cabecera con los nombres de los
atributos aparecera al principio de cada pagina.

El tamaño de la pantalla/pagina se controla con dos parametros: LINESIZE y PAGESIZE que controlan,
respectivamente, el tamaño de las lneas (numero de columnas) y el tamaño de la pagina (numero de lneas). El
tamaño actual en un momento dado se puede ver con la orden SHOW:

SHOW LINESIZE
SHOW PAGESIZE

Para modicar estos valores, se utilizara SET:

SET LINESIZE 132
SET PAGESIZE 80

Adicionalmente, existe el parametro PAUSE (para ver su estado: SHOW PAUSE) que, si se activa, hara una pausa
antes de mostrar cada \pantallazo" de informacion. Este parametro es realmente util solo en la herramienta
sqlplus en modo texto, ya que SQL*Plus WorkSheet dispone de barras de scroll que nos permite ver las paginas
anteriores. En sqlplus se debe pulsar Enter para mostrar la siguiente pagina (nota: antes de la primera pagina
tambien, ya que la pausa la hace antes de mostrar nada). Para activar la pausa se usara

SET PAUSE ON

y para desactivarla,

SET PAUSE OFF

1.4. Edicion y ejecucion de comandos

En SQL*Plus hay dos tipos de comandos: los propios de SQL*Plus, y sentencias SQL. Para ejecutar cualquiera
de ellas, hay diferencias si el entorno es sqlplus SQL*Plus WorkSheet. Veamos como ejecutar ambas clases,
primero de uno en uno y luego un conjunto de comandos a la vez (normalmente a partir de un chero).

1.4.1. Ejecucion de comandos individuales

Si se desea ejecutar directamente un comando propio de SQL*Plus (por ejemplo, SET PAUSE ON) se puede
teclear directamente. Utilizando sqlplus, el comando debe ir en una sola lnea, y se ejecuta al pulsar ENTER.
En SQL*Plus WorkSheet puede ocupar mas de una lnea y se ejecuta pulsando Control+ENTER, pulsando el
segundo boton (con el dibujo de un rayo), o en la opcion correspondiente del menu.

Las sentencias SQL pueden ocupar mas de una lnea en cualquiera de los entornos. Sin embargo, no puede

haber lneas en blanco dentro de una sentencia. Para nalizarla hay varias formas:

1. Una barra (/), que debe estar obligatoriamente en una nueva lnea despues de la sentencia, y ser el unico

caracter de esa lnea.

SELECT *

FROM JUGADOR

/

2. Un punto y coma (;) al nal de la misma, sin importar que este en una lnea aparte o al nal de la ultima

lnea. Suele ser la forma preferida:

SELECT *

FROM JUGADOR;

3. Acabar la sentencia sin ningun terminador. En sqlplus se debera pulsar Enter con una lnea en blanco

para que devuelva el prompt \tt SQL> y podamos introducir mas comandos.

4

SELECT
  • Links de descarga
http://lwp-l.com/pdf4903

Comentarios de: Capítulo 1 - SQL*Plus (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad