Inicio:
La informacin se almacena en una estructura denominada tabla. En este manual
veremos las sentencias ms utilizadas para manejar los datos en esas tablas, entre otras
cosas. Se definirn, por tanto, sentencias con su sintaxis y su semntica, as como las
opciones que se le pueden aplicar, y ejemplos de uso de cada una de ellas.
2
1) Gestin de la sesin:
1.1.CONNECT:
Permite a un usuario conectarse al sistema. Si estbamos conectados como un
usuario A, y ejecutamos la sentencia para conectarnos como un usuario B, primero
desconecta la sesin anterior y despus realiza la nueva conexin.
- Sintaxis:
- Nota:
Observando la sintaxis, podemos deducir el funcionamiento de esta sentencia pues,
dependiendo de si le pasamos como argumento un nombre de usuario, un par usuario-
contrasea.
- Ejemplo:
1.2.PASSWORD:
Permite a un usuario cambiar su contrasea de acceso al sistema.
- Sintaxis:
PASSWORD [nombre_usuario]
- Nota:
No es necesario pasarle el nombre de usuario como argumento, a menos que hayamos
entrado en el sistema como ABD, pues no tendramos privilegios para cambiar la
contrasea de otro usuario, y sera redundante decir que YO quiero cambiar MI contrasea
a M.
- Ejemplo:
3
1.3.DISCONNECT:
Permite que el usuario que actualmente est conectado, cierre su sesin sin tener
que abandonar el SQP*plus por completo, desde la lnea de comandos.
- Sintaxis:
DISCONNECT
- Ejemplo:
1.4.EXIT:
Permite realizar la misma tarea que el comando DISCONNECT, siendo sta la
forma limpia de salir del sistema.
- Sintaxis:
- Opciones:
SUCCESS: permite realizar una salida del sistema satisfactoria.
n: permite devolver a la salida un nmero que alguien, o algn programa leer e interpretar.
COMMIT: es la opcin por defecto, permite que cuando cerremos la sesin, se guarden los
cambios realizados.
- Ejemplo:
4
2) Gestin buffer de instrucciones:
2.1.LIST:
Permite listar el contenido del buffer de instrucciones.
- Sintaxis:
- Opciones:
L[IST] n, donde n es el nmero de lnea del buffer: permite ver la lnea n en concreto. Ntese que
el comando puede abreviarse a L.
Podemos hacer varias combinaciones, dependiendo de las lneas que queramos ver del buffer,
combinaciones como: ver desde la lnea 4 a la lnea 9, ver desde la lnea 77 hasta la ltima lnea
(opcin LAST), etctera.
- Ejemplo:
2.2) INPUT:
Aade una o ms lneas de texto tras la lnea actual del buffer.
- Sintaxis:
I[NPUT] [text]
- Nota:
text representa el texto que se desea aadir.
Para aadir una lnea individual, introduzca el texto de la lnea directamente tras el
comando INPUT, separado por un espacio en blanco.
Para comenzar la lnea con 1 o ms espacios, introduzca dos o ms espacios entre INPUT
y el texto de la lnea.
Para aadir ms de una lnea, introduzca INPUT sin texto. INPUT proporcionar un prompt
para cada lnea. Para dejar INPUT, introduzca una lnea vaca.
- Ejemplo:
5
2.3) APPEND:
Aade en el buffer el texto especificado al final de la lnea actual.
- Sintaxis:
A[PPEND] [text]
- Nota:
text representa el texto que se desea aadir.
Para aadir una lnea individual, introduzca el texto de la lnea directamente tras el
comando INPUT, separado por un espacio en blanco.
Para comenzar la lnea con 1 o ms espacios, introduzca dos o ms espacios entre INPUT
y el texto de la lnea.
Para aadir ms de una lnea, introduzca INPUT sin texto. INPUT proporcionar un prompt
para cada lnea. Para dejar INPUT, introduzca una lnea vaca.
- Ejemplo:
2.4) CHANGE:
Cambia la primera ocurrencia del texto que coincida con /texto_antiguo, en la lnea
actual del buffer (/texto_nuevo/).
- Sintaxis:
- Ejemplo:
6
2.5) DEL:
Borra una o ms lneas del buffer.
- Sintaxis:
- Opciones:
n : borra la lnea n.
n m : borra n lneas desde la lnea m.
n * : borra n lneas desde la lnea actual.
n LAST: borra desde la lnea n hasta la ltima.
* : borra la lnea actual.
* n : borra desde la lnea actual, hasta la lnea n.
* LAST : borra desde la lnea actual hasta la ltima.
LAST : borra la ltima lnea.
Sin opciones: borra la lnea actual.
- Ejemplo:
2.6) SAVE:
Guarda el contenido del buffer en un archivo host del sistema operativo (un fichero
de comandos).
- Sintaxis:
- Opciones:
CREATE: se le tiene que especificar el nombre del archivo de comandos en el que
queremos almacenar el contenido del buffer.
REP[LACE]: reemplaza el contenido de un fichero ya existente.
APP[END]: aade el contenido del buffer al final del archivo que se le especifica.
- Ejemplo:
7
2.7) GET:
Carga un fichero del sistema operativo del host en el buffer.
- Sintaxis:
- Opciones:
- Ejemplo:
2.8) RUN:
Lista y ejecuta los comandos de SQL o bloque PL/SQL actualmente cargado en el
buffer.
- Sintaxis:
R[UN]
- Nota:
RUN hace que la ltima lnea del bfer se convierta en la lnea actual.
El comando (/) funciona de manera similar, pero no muestra el comando del buffer en la
pantalla.
3) Gestin de scripts:
3.1) EDIT:
Invoca un editor de texto en sistema operativo anfitrin con el contenido del archivo
especificado o con el contenido del buffer.
- Sintaxis:
ED[IT] [nombre_fichero[.ext]]
- Nota:
nombre_fichero.ext: representa el fichero a editar.
8
3.2) REMARK:
Comienza un comentario en el fichero de comandos. SQL*plus no interpreta el
comentario como un comando.
- Sintaxis:
REM[ARK]
- Nota:
El comando REMARK debe aparecer al comienzo de una lnea, y terminar al final de dicha lnea.
3.3) START:
Ejecuta el contenido del fichero de comandos que se le especifique.
- Sintaxis:
- Nota:
nombre_fichero: representa el nombre del fichero que se desea
ejecutar.
arg: representa los datos que se desean pasar como parmetros en el
archivo de comandos.
- Sintaxis:
@ nombre_fichero
9
3.6) COPY:
Copia el resultado de una consulta en una tabla, o en una base de datos local o
remota.
- Sintaxis:
4.1) DESCRIBE:
Lista la definicin de la tabla, vista o sinnimo especificado, o las especificaciones
para la funcin especificada o procedimiento.
- Sintaxis:
DESC[RIBE] {[schema.]object[@net_service_name]
- Nota:
schema: representa el esquema donde los objetos residen. Si omites schema, SQL*plus
asume tu propio esquema.
object: representa la tabla, vista, tipo, procedimiento, funcin, paquete o sinnimo que
desees describir.
@net_service_net: consiste en el nombre del link de la base de datos donde los objetos
existen.
10
4.2) SPOOL:
Almacena el resultado de las consultas en un fichero del sistema operativo, y
opcionalmente, enva el fichero (informe) a una impresora.
- Sintaxis:
- Nota:
nombre: representa el nombre del fichero en el que se almacenar el spool. Si no se
especifica un nombre de fichero, SPOOL le asignar uno por defecto. SPOOL usa las extensiones
lst y ls por defecto.
Si se introduce SPOOL sin clusulas, se mostrar por pantalla el estado del spooling
actual.
4.3) SHOW:
Muestra el valor de una variable del sistema SQL*Plus, o del actual entorno
SQL*Plus.
- Sintaxis:
- SHO[W] option
- Nota:
option: representa una de las siguientes clusulas:
11
nombre del procedimiento PL/SQL almacenado, el SQL*Plus muestra los errores
para este procedimiento almacenado.
o schema: contiene el nombre del objeto. Si se omite, SHOW ERRORS asume que el
objeto se encuentra en tu actual schema.
o LNO: muestra el actual nmero de lnea (la posicin en la actual pgina mostrada,
y/o la salida del SPOOL.
o SGA: muestra informacin acerca de la actual instancia del rea Global del Sistema.
4.3) Set:
Asigna (crea) una variable del sistema, para modificar el entorno SQL*Plus de tu
sesin actual, como: el formato en que se muestran las columnas para un dato numrico,
para un LONG, el nmero de lneas por pgina,
- Sintaxis:
- Nota:
system_variable: representa una variable del sistema, seguida de un valor, como uno de
los siguiente:
12
o APPI[NFO]{ON|OFF|text}: obtiene registro automtico de los ficheros de comando a
travs del paquete DBMS_APPLICATION_INFO.
13
o COPYTYPECHECK {OFF|ON}: establece la supresin de la comparacin de tipos
de datos mientras inserta o anexa (append) tablas con el comando COPY. Esto
facilita el copiado de la BDD2, con los requerimientos para ser copiado un CHAR a
un dato de la BDD2.
14
FLAGGER siempre si no ests conectado a una base de datos. El flag FIPF
permanecer en efecto a lo largo de la sesin SQL*Plus hasta un satisfactorio
comando SET FLAGGER OF (o ALTER SESSION SET FLAGGER=OFF) o hasta
que salgas de SQL*Plus.
o LOBOF[FSET] {n|1}: asigna la posicin inicial desde los datos que CLOB y NCLOB
muestran.
o LONG {80|n}: asigna la anchura mxima (en bytes) para mostrar valores LONG,
CLOB y NCLOB; y para copiar valores LONG. El valor mximo de n son 2 gigabytes.
15
o NULL text: asigna el texto que representa un valor nulo en el resultado de un
comando SELECT de SQL. Use la clusula NULL del comando COLUMN para
sobrescribir la asignacin de la variable NULL para una columna dada.
o RECSEP {WR[APPED]|EA[CH]|OFF}.
16
SQLCASE no cambia el buffer propio de SQL.
o SUF[FIX] {SQL|text}: asigna la extensin de ficheros por defecto que usa SQL*Plus
en los comandos que hacen referencia a ficheros de comandos. SUFFIX no controla
las extenciones para ficheros de SPOOL.
17
o UND[ERLINE] {-|c|ON|OFF}: asigna el caracter usado para subrayar columnas de
encabezamiento en los informes de SQL*Plus a c.
4.4) Help:
Accede al sistema de ayuda de SQL*Plus.
- Sintaxis:
HELP [topic]
- Nota:
topic: representa un tema de ayuda de SQL*Plus. Introduzca solo HELP para conseguir
ayuda sobre el sistema de ayuda.
4.5) Host:
Ejecuta un comando de host del sistema operativo sin dejar el SQL*Plus.
- Sintaxis:
HO[ST] [command]
- Nota:
command: representa un comando del sistema operativo.
Introducza HOST sin clusula para mostrar un prompt del sistema. Entonces podrs
introducir mltiples comandos del sistema operativo.
18
5) Gestin de variables:
5.1) DEFINE:
Especifica una variable de usuario, y le asigna un valor CHAR; o lista el contenido y
el tipo de una variable especfica, o de todas las variables.
- Sintaxis:
- Nota:
variable: representa el nombre de la variable de usuario a la que se le quiere asignar un
valor, o listarlo.
text: representa el valor CHAR que se le quiere asignar a variable. Encierre el texto entre
comillas si contiene espacios en blanco o puntuaciones.
variable = text: define (nombra) una variable de usuario y le asigna un valor CHAR.
- Presione DEF[INE], seguido de variable para listar el valor y tipo de la misma. Escrbalo
sin clausulas para lista el valor y el tipo de todas las variables de usuario.
5.2) UNDEFINE:
Elimina una o ms variables de usuarios que se definieron de forma explcita (con el
comando DEFINE), o implcitamente (con un argumento en el comando START).
- Sintaxis:
UNDEF[INE] variable
- Nota:
variable: representa el nombre de la variable de usuario que se desea borrar. Pueden ser
borradas una o ms variables de usuario en el mismo comando.
5.3) ACCEPT:
Lee una lnea desde la entrada y la almacena en una variable de usuario dada.
- Sintaxis:
- Nota:
variable: representa la variable de usuario en la que se desea almacenar el valor. Si la
variable no existe, SQL*plus la crea.
19
NUM[VER]: hace que el tipo de dato de la variable sea del tipo de dato NUMBER. Si en la
respuesta no da coincidencia el tipo de datos, ACCEPT da un mensaje de error y devuelve
el prompt de nuevo.
CHAR: ]: hace que el tipo de dato de la variable sea del tipo de dato CHAR. La longitud
mxima es 240 bytes. Si un conjunto de caracteres multi-bytes es usado, un CHAR debe ser
ms de un byte en tamao.
PROMT text: muesta text en pantalla antes de aceptar el valor de la variable desde el
usuario.
- Sintaxis:
& variable.
- Notas de uso:
20
5.6) VARIABLE:
Declara una variable de tipo bind que puede ser referenciada desde PL/SQL.
- Sintaxis:
- Nota:
variable: representa el nombre de la variable de tipo bind que se quiere crear.
NUMBER: crea una variable de tipo NUMBER, con longitud fija.
CHAR: crea una variable de tipo CHAR (caracter), de longitud 1.
CHAR (n): crea una variable de tipo CHAR con una longitud mxima de n a 2000.
NCHAR: crea una variable de tipo NCHAR (carcter nacional), de longitud 1.
NCHAR (n): crea una variable de tipo NCHAR, con una longitud mxima de n a 2000.
VARCHAR2 (n): crea una variable de tipo VARCHAR2 con una longitud mxima de n a
4000.
NVARCHAR2 (n): crea una variable de tipo NVARCHAR2 (NCHAR variante), con una
longitud mxima de n a 4000.
CLOB: crea una variable de tipo CLOB.
NCLOB: crea una variable de tipo NCLOB.
REFCURSOR: crea una variable de tipo REFCURSOR.
- Las variables bind deben ser usadas como parmetros para almacenar procedimientos, o
deben ser directamente referenciadas en bloques PL/SQL annimos.
- Para mostrar el valor de una variable bind creada, usar el comando PRINT. Tambin podra
ser posible con el comando SET AUTOPRINT.
5.5) PRINT:
Muestra el valor actual de las variables bind (de entorno).
- Sintaxis:
PRI[NT] [variable, ]
- Nota:
variable: representa el nombre de la variable de tipo bind cuyo valor se quiere mostrar.
Use PRINT sin argumentos para mostrar el valor de todas las variables bind.
21
6) Presentacin de resultados:
6.1) PAUSE:
Muestra una lnea vaca, seguida de una lnea que contiene el texto (text),
entonces espera a que el usuario presione [Return], o muestra dos lneas vacas y espera
por la respuesta del usuario.
- Sintaxis:
PAU[SE] [ text ]
- Nota:
text: representa el texto a mostrar al usuario.
Introduzca PAUSE sin texto, y se mostrarn dos lneas en blanco al usuario.
Puesto que PAUSE espera a la respuesta del usuario, es un modo ms efectivo que
pedrselo explcitamente al usuario.
6.2) PROMPT:
Enva un mensaje especfico, o una lnea en blanco, a la pantalla del usuario.
- Sintaxis:
PRO[MPT] [ text ]
- Nota:
text: representa el mensaje que se quiere enviar a la pantalla de usuario. Si no se
especifica, se enviar una lnea en blanco.
Este comando puede ser usado en ficheros para ir mostrando informacin al usuario.
6.3) TTITLE:
Lugares y formatos de un ttulo especificado en la parte superior de cada pgina del
informe, o lista la definicin actual de TTITLE. La vieja forma de TTITLE se usa slo si es una
palabra simple, o strings entrecomillados que siguen al comando TTITLE.
- Sintaxis:
- Nota:
printspec: representa uno o ms de los siguientes argumentos, usados para dar formato al
texto de salida: COL n, S[KIP] [n], TAB n, LE[FT], CE[NTER], R[IGHT], BOLD, FORMAT
text,
22
text: representa el ttulo del texto. Introduzca el texto entrecomillado despus de TTITLE si
es ms de una palabra en la misma lnea.
variable: representa una variable de usuario, o alguno de los siguientes sistemas de
valores mantenidos: SQL.LNO (nmero de lnea actual), SQL.PNO (nmero de pgina
actual), SQL.RELEASE (nmero actual de la versin de ORACLE), SQL.SQLCODE (cdigo
de error actual), SQL.USER (nombre de usuario actual).
OFF: desactiva el mostrado del ttulo, sin afectar a su definicin.
ON: activa el mostrado del ttulo. Es la opcin por defecto.
6.4) BTITLE:
Lugares y formatos de un ttulo especificado en la parte inferior de cada pgina del informe,
o lista la definicin actual de TTITLE. Sintaxis:
- Nota:
printspec: representa uno o ms de los siguientes argumentos, usados para dar formato al
texto de salida: COL n, S[KIP] [n], TAB n, LE[FT], CE[NTER], R[IGHT], BOLD, FORMAT
text,
text: representa el ttulo del texto. Introduzca el texto entrecomillado despus de TTITLE si
es ms de una palabra en la misma lnea.
variable: representa una variable de usuario, o alguno de los siguientes sistemas de
valores mantenidos: SQL.LNO (nmero de lnea actual), SQL.PNO (nmero de pgina
actual), SQL.RELEASE (nmero actual de la versin de ORACLE), SQL.SQLCODE (cdigo
de error actual), SQL.USER (nombre de usuario actual).
OFF: desactiva el mostrado del ttulo, sin afectar a su definicin.
ON: activa el mostrado del ttulo. Es la opcin por defecto.
6.5) COLUMN:
Especifica los atributos de visualizacin para una columna determinada, como: texto para el
encabezado de la columna, alineamiento del encabezado de la columna, formato de los datos
NUMBER, envoltura de datos de la columna
- Sintaxis:
- Nota:
option: representa una de las siguientes clausulas:
{column|expr}: identifica el item (tipicamente, el nombre de la columna)
ALI[AS] alias: asigna un alias especificado a una columna.
CLE[AR]: resetea los atributos del mostrado de la columna a los valores por defecto. Para
resetear los atributos para todas las columnas, usar el CLEAR COLUMNS, que adems
resetea los atributos para estas columnas.
23
FOLD_A[FTER]: inserta un retorno de carro despus de la cabecera de la columna y
despus de cada fila de la columna. SQL*pus no inserta un retorno de carro extra despus
de la ltima columna en el listado SELECT.
FOLD_B[EFORE]: inserta un retorno de carro antes de la cabecera de la columna y antes
de cada fila de la columna. SQL*plus no inserta un carcter extra antes de la primera
columna en el listado SELECT.
FOR[MAT] format: especifica el format de muestra de la columna. La especificacin del
formato debe ser un texto constante como A10, o 9,99, no variable.
24
Bibliografa:
- http://docs.oracle.com/cd/B28359_01/server.111/b28286/toc.htm
- http://docs.oracle.com/cd/B28359_01/server.111/b31189/toc.htm
25