Anda di halaman 1dari 25

1

Prctica 1: Manual de SQLplus


Qu es SQLplus?
El SQL es un lenguaje que permite realizar diversas operaciones, por ejemplo
aritmticas, combinatorias y lgicas, con datos almacenados en Bases de Datos
relacionales. Adems, el SQL no slo permite realizar consultas, tambin da la posibilidad
de actualizar los datos, y otras operaciones.

Cmo se usa SQLplus?


Las peticiones sobre los datos se expresan en SQL mediante sentencias. Estas
sentencias pueden escribirse (de acuerdo a una determinada sintaxis y semntica),
directamente en la pantalla del terminal, o embebidas en programas.

Para qu sirve el SQLplus?


El SQL, como se nombr anteriormente, permite realizar consultas y actualizaciones
sobre datos almacenados en tablas relacionales. Este es el principal uso que harn del
lenguaje los programadores y usuarios. Pero tambin permite realizar otros tipos de
acciones, que son ms propios del rol conocido como Administrador de la Base de Datos
(ABD). Las tareas propias de ABD son la definicin y destruccin de objetos, y la gestin
de autorizaciones de acceso.

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.

Antes de comenzar a describir cada una de estas sentencias, debemos tener en


cuenta algunas consideraciones:

- En SQL no se distingue entre maysculas y minsculas.


- Cada instruccin debe ir finalizada por un punto y coma ( ; ).
- Los comandos SQL (SELECT, INSERT, ) no pueden ir partidos por espacios en
blancos o saltos de lnea antes de finalizar la instruccin.
- Se pueden tabular lneas para facilitar la lectura, en caso necesario.
- Los comentarios en SQL comienzan en /* y terminan en */.

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:

CONNECT [nombre_usuario [\contrasea]] [@cadena_de_conexin]

- 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:

EXIT [SUCCESS/FAILURE/WARNING/n/variable] [COMMIT/ROLLBACK]

- Opciones:
SUCCESS: permite realizar una salida del sistema satisfactoria.

FAILURE: salida con fallos.

WARNING: salida con advertencias.

n: permite devolver a la salida un nmero que alguien, o algn programa leer e interpretar.

variable: el estado de la salida estar almacenado en el contenido de una variable.

COMMIT: es la opcin por defecto, permite que cuando cerremos la sesin, se guarden los
cambios realizados.

ROLLBACK: hace que los cambios realizados durante la sesin se descarten.

- Ejemplo:

4
2) Gestin buffer de instrucciones:

2.1.LIST:
Permite listar el contenido del buffer de instrucciones.

- Sintaxis:

L[IST] [n|n m |n LAST| *| * n| m *|* LAST| LAST]

- 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:

C[HANGE] /texto_antiguo [/texto_nuevo]

- Ejemplo:

6
2.5) DEL:
Borra una o ms lneas del buffer.

- Sintaxis:

DEL [n|n m |n LAST| *| * n| m *|* LAST| LAST]

- 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:

S[AVE] nombre_archivo [CREATE|REPLACE|APPEND]

- 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:

G[ET] nombre_archivo [LIST|NOLIST]

- Opciones:

nombre archivo: representa el archivo a cargar (.ext).

LIS[T]: lista el contenido del fichero.

NOL[IST]: suprime el listado.

- 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.

Una lnea no puede contener simultneamente un comando y un comentario.

Otro tipo e comentario sera: -- . Ej: -- declaro 2 variables.

El ltimo tipo de comentario es: /* */ . Ej: /* Esto es un comentario */.

3.3) START:
Ejecuta el contenido del fichero de comandos que se le especifique.

- Sintaxis:

STA[RT] nombre_fichero[.ext] [arg ]

- 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.

3.4) @ ("at" sign):


Ejecuta el fichero de comandos que se le especifique.

- Sintaxis:

@ nombre_fichero

3.5) @@ (double "at" sign):


Arranca un fichero de comandos. Este comando es idntico al comando @,
excepto por que se busca el archivo desde el mismo PATH que del ltimo fichero de
comandos del que se llam.
- Sintaxis:
@@ nombre_fichero[.ext]

9
3.6) COPY:
Copia el resultado de una consulta en una tabla, o en una base de datos local o
remota.

- Sintaxis:

COPY {FROM base|TO base|FROM base TO base}


{APPEND|CREATE|INSERT|REPLACE} tabla_destino[(columna, )]
USING query
- Opciones:
USING query: especifica una consulta SQL (comando SELECT) para determinar qu filas
y qu columnas copia.
FROM: especificar el usuario, la contrasea y la base de datos que contiene el dato a
copiar.
TO: especifica la base de datos que contiene la tabla destino.
APPEND: inserta las filas de la consulta en la tabla_destino si existe. Si no existe, la crea.
CREATE: inserta las filas de la consulta en la tabla_destino despus de haber creado la
tabla. Si la tabla_destino ya existe, devuelve un error.
INSERT: inserta las filas de la consulta en la tabla_destino. Si no existe, devuelve un error.
Cuando se usa INSERT, la consulta con USING debe seleccionar una columna para cada
columna en la tabla_destino.
REPLACE: remplaza la tabla_destino y su contenido por las filas de la consulta. Si la tabla
destino no existe, la crea. En otro caso, elimina la tabla existente y la sustituye por una tabla
que contiene los datos copiados.

4) Gestin del entorno SQL*plus:

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:

- SPO[OL] [ nombre[.ext] | OFF | OUT] [CREAT | APPEND | REPLACE]

- 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.

OFF: para el SPOOLing.

OUT: para el SPOOLing y enva el fichero al host estndar del ordenador, al de la


impresora 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:

o system_variable: representa alguna variable del sistema asignada por el comando


SET.
o ALL: lista las asignaciones de todas las opciones de SHOW, en orden alfabtico.
o BTI[TLE]: muestra la definicin del BTITTE actual.
o ERR[ORS] [{FUNCTION|PROCEDURE|PACKAGE|PACKAGE BODY
|TRIGGER|VIEW|TYPE|TYPE BODY} [schema.]name]: muestra los errors de
compilacin de un procedimiento almacenado (incluye las funciones, procedimiento y
paquetes almacenados). Tras usar el comando CREATE para crear un
procedimiento, un mensaje se mostrar si el almacenamiento del procedimiento ha
tenido errores de compilacin. Para ver los errores, usa el comando SHOW
ERRORS. Si se usa sin argumentos, SQL*Plus muestra los errores de compilacin
para el procedimiento que creado o almacenado ms recientemente. Cuando se
especifica el tipo (funcin, procedimiento, paquete, cuerpo del paquete, ) y el

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 SHOW ERRORS: muestra la lnea y el nmero de la columna del error (LN/COL).

o LNO: muestra el actual nmero de lnea (la posicin en la actual pgina mostrada,
y/o la salida del SPOOL.

o PARAMETERS [parameter_name]: muestra el valor actual de una o ms


inicializaciones de parmetros. Sin argumentos, muestra todas las inicializaciones de
parmetros.

o PNO: muestra el actual nmero de pgina.

o REL[EASE]: muestra el nmero de la versin a la que ORACLE SQL*Plus est


accediendo.

o REPF[OOTER]: muestra la definicin REPFOOTER actual.

o REPH[EADER]: muestra la definicin REPHEADER actual.

o SPOO[L]: muestra que salida est siendo spooleada.

o SGA: muestra informacin acerca de la actual instancia del rea Global del Sistema.

o SQLCODE: muestra el valor de SQL.SQLCODE (el SQL devuelve el cdigo de la


ms reciente operacin).

o TTI[TLE]: muestra la definicin actual de TTITLE.

o USER: muestra el nombre de usuario con el que t accediste actualmente a


SQL*Plus.

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:

- SET system_variable value

- 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.

o ARRAY [SIZE] {15|n}: obtiene un nmero de columnas llamada a un lote que


SQL*Plus busc a travs de la base de datos una vez. Los nmeros vlidos son
desde el 1 hasta el 5000.

o AUTO[COMMIT]{OFF|ON|IMM[EDIATE]|n}: controla cuando Oracle tiene cambios


pendientes que actualizar a la base de datos.

o AUTOP[RINT] {OFF|ON}: obtiene la impresin automtica de variables bind. ON y


OFF controlan si se mostrarn, o no, automticamente las variables bind.

o AUTORECOVERY [ON|OFF]: ON asigna el comando RECOVER a la aplicacin


automticamente de los nombre de fichero por defecto, o de los ficheros redo de log
archivados necesarios durante la accin de RECOVER.

o AUTOT[RACE] {OFF|ON|TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]: muestra un


informe de la ejecucin de las declaraciones SQL DML (SELECT, INSERT,
UPDATE, DELETE). El informe puede incluir estadsticas de la ejecucin y el path
de la ejecucin de la consulta.

o BLO[CKTERMINATOR] {.|c}: asigna los caracteres no alfabticos usados al final de


los bloques PL/SQL a c. Para ejecutar el bloque, debes llamarlo con los comandos
RUN o /.

o CMDS[EP] {;|c|OFF|ON}: asigna los caracteres no alfabticos usados para separar


mltiples comandos SQL*Plus introducidos en una lnea a c. ON y OFF controlan si
puedes introducir mltiples comandos en una lnea. ON asigna automticamente el
carcter separador de comando a un punto y coma (;).
o COLSEP { |text}: asigna el texto a ser impreso entre las columnas seleccionadas. Si
la variable COLSEP contiene blancos o signos de puntuacin, debes encerrarlo
entre comillas simples. El valor por defecto para text es un nico espacio.
o COM[PATIBILITY]{V7|V8|NATIVE}: especifica la versin de Oracle con la que ests
actualmente conectado.
o CON[CAT] {.|c|OFF|ON}: asigna los caracteres que se pueden usar para terminar
una sustitucin de variable de referencia si se desea seguir inmediatamente la
variable con un carcter que SQL*Plus debera sobrescribir interpretando como una
parte de la sustitucin del nombre de la variable. SQL
Plus resetea el valor de CONCAT a un periodo cuando activaste CONCAT.
o COPYC[OMMIT] {0|n}: controla el nmero de lotes despus de que el comando
COPY actualiza los cambios a la base de datos. COPY actualiza las filas a la base
de datos destino cada tiempo copia n filas. Los valores vlidos son de 0 a 5000. Se
puede asignar el tamao de un lote con la variable ARRAYSIZE. Si se asigna un
COPYCOMMIT a 0, COPY realiza un solo commit al final de la operacin de
COPY.

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.

o DEF[INE] {&|c|OFF|ON}: asigna un caracter usado como prefijo de sustitucin de


variables a c. ON y OFF controlan si SQL*Plus podr escanear comandos para la
sustitucin de variables y los remplaza por esos valores. ON cambia el valor de c
tras el valor por defecto &, no por el caracter ms recientemente usado. La
asignacin o DEFINE a OFF sobrescribe la asignacin de la variable SCAN.

o DESCRIBE [DEPTH {1|n|ALL}][LINENUM {ON|OFF}][INDENT {ON|OFF}]: obtiene la


profundidad del nivel al que se puede describir recursivamente un objeto. El rango
vlido de la clusula DEPTH es desde 1 a 50. Si tu asignas DESCRIBE DEPTH ALL,
ese nivel de profundidad ser asignado a 50, que es el nivel mximo permitido.
Tambin se puede mostrar el nmero y la identificacin de los atributos o nombre de
columnas cuando un objeto contiene mltiples tipos de objetos. Usa el comando
SETLINESIZE para controlar el ancho del mostrado de datos.

o ECHO {OFF|ON}: controla si el comando START lista cada comando en un fichero


de comandos cuando el comando se ejecuta. ON lista los comandos; OFF suprime
el listado (porque ON es por defecto).

o EDITF[ILE] file_name[.ext]: asigna el nombre de fichero por defecto para el comando


EDIT.

o EMB[EDDED] {OFF|ON}: controla dnde se activa el comienzo de pgina en cada


informe. OFF fuerza cada informa a empezar por la parte superior de una nueva
pgina. ON permite a un informe comenzar en cualquier lugar de una pgina. Asigna
EMBEDDED a ON cuando quieras un informe para comenzar a imprimirlo
inmediatamente al final del informa previamente arrancado.

o ESC[APE] {\|c|OFF|ON}: define el caracter que introduzcas como el caracter de


escape. OFF elimina la definicin del carcter de escape. ON activa el carcter de
escape. ON cambia el valor por defect a \.

o FEED[BACK] {6|n|OFF|ON}: muestra el nmero del registro devuelto (returned) por


una consulta cuando una consulta selecciona al menos n registros. ON y OFF
encienden y apagan este mostrado. Activando la realimentacin asignando n a 1.
Asignar la realimentacin a 0 es lo mismo que apagarla.

o FLAGGER {OFF|ENTRY |INTERMED[IATE]|FULL}: comprueba para asegurarse de


que los requerimientos SQL estn conforme al estndar ANSI/ISO SQL92. Si ningn
constructor no-estndar fue encontrado, los el servidor Oracle muestra flags como
errores y muestra la violacin de sintaxis. Este es el equivalente del comando
ALTER SESSION SET FLAGGER del lenguaje SQL. Puedes ejecutar SET

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 FLU[SH] {OFF|ON}: controla cuando la salida es enviada a el dispositivo de muestra


del usuario. OFF permite el host del sistema operativo a un buffer de salida. ON
desactiva el buffering. Usa OFF solo cuando ejecutes un fichero de comandos no-
interactivamente (esto es, cuando no necesites ver la salida y/o el prompt hasta que
finalice la ejecucin del fichero de comandos. El uso de FLUSH OFF debe mejorar el
rendimiento reduciendo la mayora de entradas/salidas de programas.

o HEA[DING] {OFF|ON}: controla la impresin de columnas cabecera en informes. El


comando SET HEADING OFF no afecta al ancho de la columna mostrada, y solo
suprime la impresin de la propia cabecera de la columna.

o HEADS[EP] {||c|OFF|ON}: define el carcter que introdujiste como el carcter


separados de cabecera. El separador de cabecera no puede ser alfanumrico ni un
espacio blanco.

o INSTANCE [instance_path|LOCAL]: cambia la instancia por defecto para tu sesin a


al path de la instancia especificada. Usando el comando SET INSTANCE no cse
conecta a la base de datos. La instancia por defecto es usada por comandos cuando
no se especifica una instancia.

o LIN[ESIZE] {80|n}: asigna el nmero total de caracteres que SQL*Plus puede


mostrar en una lnea antes de comenzar una nueva lnea. Adems controla la
posicin de centrado y alineado-izquierda del texto en TTITLE; BTITLE;
REPHEADER y REPFOOTHER. Puedes definir LINESIZE como un valor desde 1
hasta un mximo que depende del sistema.

o LOBOF[FSET] {n|1}: asigna la posicin inicial desde los datos que CLOB y NCLOB
muestran.

o LOGSOURCE [pathname]: especifica la localizacin desde que los logs archivados


son recuperados durante la recuperacin. El valor por defecto es asignado por el
parmetro de inicializacin LOG_ARCHIVE_DEST. Usar el comando SET
LOGSOURCE sin nombre de ruta se almacena la localizacin por defecto.

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.

o LONGC[HUNKSIZE] {80|n}: asigna el tamao (en bytes) del incremento en el que


SQL*Plus recupera un valor LONG, CLOB o NCLOB.

o NEWP[AGE] {1|n|NONE}: asigna el nmero de lneas blancas a ser impresas al


inicio de cada pgina desde el inicio del ttulo. Un valor 0 coloca un avance de
pgina al comienzo de cada pgina (incluida la primera) y limpia la pantalla en la
mayora de los terminales. Si asignas NEWPAGE a NONE, SQL*Plus no imprime
una lnea en blanco ni un avance de lnea entre las pginas del informe.

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 NUMF[ORMAT] format: asigna el formato por defecto para mostrar nmeros.


Introduzca un formato numrico para format.

o NUM[WIDTH] {10|n}: asigna el ancho por defecto para mostrar nmeros.

o PAGES[IZE] {24|n}: asigna el nmero de lneas en cada pgina. Se puede asignar


PAGESIZE a cero para suprimir todas las cabeceras, saltos de pgina, ttulos, lneas
en blanco al inicio, y otros.

o PAU[SE] {OFF|ON|text}: permite que controles el desplazamiento de tu terminal


cuando ejecutes informes. ON hace que SQL*Plus para al comienzo de cada pgina
del informe de salida.

o RECSEP {WR[APPED]|EA[CH]|OFF}.

o RECSEPCHAR { |c}: muestra o imprime separadores de registro. Un separador de


registro consiste en una simple lnea del RECSEPCHAR (carcter separador de
registros) repetido LINESIZE veces. RECSEPCHAR define el separador de
registros. Un espacio simple es el valor por defecto.

o SERVEROUT[PUT] {OFF|ON} [SIZE n] [FOR[MAT]


{WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]}]: controla si el mostrado de
salida (que es, DBMS_OUTPUT.PUT_LINE) del almacenamiento de
procedimientoso bloques PL/SQL en SQL*Plus. OFF supirme la salida de
DBMS_OUTPUT.PUT_LINE; ON muestra la salida.

o SHIFT[INOUT] {VIS[IBLE]|INV[ISIBLE]}: permite la correcta alineacin para los


terminales que muestran caraceteres a la izquierda. El comando SET SHIFTNOUT
es usado por terminales que muestran caracteres a la izquierda junto con datos.
Slo se puede usar este comando con conjuntos de caracteres sensibles a
izquierda.

o SHOW[MODE] {OFF|ON}: controla si SQL*Plus lista la vieja o nueva configuracin


del sistema de variables SQL*Plus cuando cambias las opciones con SET. ON lista
las configuraciones; OFF suprime el listado. SHOWMODE ON tiene el mismo
comportamiento que el obsoleto SHOW MODE BOTH.

o SQLBL[ANKLINES] {ON|OFF}: controla si SQL*Plus permite lneas blancas dentro


de un comando SQL. ON interpreta lneas blancas y nuevas lneas como parte de un
comando SQL. OFF, es el valor por defecto, no permite lneas blancas como parte
de un comando SQL. SQL*Plus devuelve al comportamiento por defecto cuando un
comando SQLTERMINATOR o BLOCKTERMINATOR es encontrado.

o SQLC[ASE] {MIX[ED]|LO[WER]|UP[PER]}: convierte el caso de los comandos SQL y


los bloques PL/SQL justo antes de su ejecucin. Convierte todos los textos entre los
comandos, incluyendo comillas, literales e identificadores, como los siguientes:

Uppercase si SQLCAS es igual a UPPER.


Lowercase si SQLCASE es igual a LOWER.

16
SQLCASE no cambia el buffer propio de SQL.

o SQLCO[NTINUE] {> |text}: asigna la secuencia de caracteres que muestra SQL*Plus


como un prompt, despus continas un comando SQL*Plus en una lnea adicional
usando un guin (-).

o SQLN[UMBER] {OFF|ON}: asigna el prompt para la segunta y subsecuentes lneas


de un comando SQL o un bloque PL/SQL. ON asigna el prompt al nmero de lnea.
OFF asigna el prompt al valor de SQLPROMPT.

o SQLPRE[FIX] {#|c}: asigna el carcter prefijo de SQL*Plus. Mientras se introduce un


comando SQL o un bloque PL/SQL, se puede introducir un comando SQL*Plus en
un separador de lnea, prefijado por el carcter prefijo de SQL*Plus.

o SQLP[ROMPT] {SQL>|text}: asigna el prompt de comandos de SQL*Plus.

o SQLT[ERMINATOR] {;|c|OFF|ON}: asigna el carcter usado para finalizar y ejecutar


comandos SQL a c. OFF significa que SQL*Plus no reconoce comandos de
terminacin; se puede terminar un comando SQL introduciendo una lnea vaca. ON
resetea el terminador al punto y coma por defecto (;).

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.

o TAB {OFF|ON}: determina como es el format del espacio en blanco de SQL*Plus en


el terminal de salida. ON usa el carcter TAB. Las configuraciones de TAB son cada
8 caracteres. El valor por defecto para TAB depende del sistema.

o TERM[OUT] {OFF|ON}: controla el muestreo de salida generado por comandos


ejecutados desde un fichero de comandos. OFF suprime el muestreo as que
puedes hacer spool a la salid desde un fichero de comandos. TERMOUT OFF no
afecta a la salida desde comandos introducidos interactivemante.

o TI[ME] {OFF|ON}: controla el muestreo del tiempo actual. ON muestra el tiempo


actual antes de cada comando prompt. OFF suprime el muestreo del tiempo.

o TIMI[NG] {OFF|ON}: controla el muestreo de las estadsticas de tiempo. ON las


muestra para cada comando o bloque PL/SQL ejecutado. OFF suprime
sincronizaciones de cada comando.

o TRIM[OUT] {OFF|ON}: determina si SQL*Plus permite blancos al final de cada lnea


mostrada. ON elimina los blancos del final de cada lnea, mejorando el rendimiento
especialmente cuando accedes a SQL*Plus desde un dispositivo de baja
comunicacin. OFF permite mostrar colas de blancos al final de cada lnea.

o TRIMS[POOL] {ON|OFF}: determina si SQL*Plus permite blancos al final de cada


lnea de spool. ON elimina los blancos al final de cada lnea. OFF permite a
SQL*Plus incluir colas de blanco. TRIMSPOOL ON no afecta al terminal de salida.

17
o UND[ERLINE] {-|c|ON|OFF}: asigna el caracter usado para subrayar columnas de
encabezamiento en los informes de SQL*Plus a c.

o VER[IFY] {OFF|ON}: controla si SQL*Plus lista el texto de un requerimiento SQL o


un comando PL/SQL antes que SQL*Plus remplace las variables de sustitucin con
valores. ON lista el texto; OFF suprime el listado.

o WRA[P] {OFF|ON}: controla si SQL*Plus trunca el mostrado de una seleccin de


filas si es demasiado larga para el ancho actual de lnea. OFF trunca la fila
seleccionada; ON permite envolver las filas seleccionadas a la siguiente lnea. Use
las clusulas WRAPPED y TUNCATED del comando COLUMN para sobrescribir las
opciones del WRAP para especificar columnas.

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:

DEF[INE] [variable] [variable = text]

- 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:

ACC[EPT] variable [NUM[BER]|CHAR|DATE] [FOR[MAT] format]


[DEF[AULT] default] [PROMPT text|NOPR[OMPT]] [HIDE]

- 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.

DATE: hace contestar en un formato de fecha vlido. Si la respuesta no est en un formato


de fecha vlido, ACCEPT da un mensaje de error, y devuelve de nuevo el prompt. El tipo de
datos es CHAR.

FOR[MAT]: especifica el formato de entrada para la respuesta.

DEF[AULT]: conjunto de valores por defecto por si una respuesta no es dada. LA


respuesta debe estar en un determinado formato, si se defini.

PROMT text: muesta text en pantalla antes de aceptar el valor de la variable desde el
usuario.

NOPR[OMPT]: omite una lnea y espera la entrada sin mostrar un prompt.

HIDE: suprime el mostrar por pantalla mientras se escribe la respuesta.

5.4) & y 5.5) &&:


Una variable de sustitucin es un nombre de variable de usuario precedido por uno
o dos smbolos de unin (&).

- Sintaxis:

& variable.

- Notas de uso:

Cuando SQL*Plus encuentra una variable de sustitucin en un comando,


SQL*Plus ejecuta el comando como si contuviera el valor de la variable de
sustitucin, en lugar de la propia variable

20
5.6) VARIABLE:
Declara una variable de tipo bind que puede ser referenciada desde PL/SQL.

- Sintaxis:

VAR[IABLE] [variable [NUMBER|CHAR|CHAR (n) |NCHAR|NCHAR (n)


|VARCHAR2 (n) |NVARCHAR2 (n) |CLOB|NCLOB|REFCURSOR] ]

- 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:

TTI[TLE] [ printspec [ text|variable] ] [OFF|ON]

- 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:

BTI[TLE] [ printspec [ text|variable] ] [OFF|ON]

- 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:

COL[UMN] [ { column|expr } [ option ] ] ]

- 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

- SQL para usuarios y programadores, J. Benavides Abajo, J. M. Olaizola Bartolom


y E. Rivero Cornelio. Sexta edicin.

25

Anda mungkin juga menyukai