Este documento describe cómo escribir sentencias básicas de SQL para extraer datos de una base de datos. Explica las capacidades de la sentencia SELECT y cómo ejecutar una sentencia básica de SELECT para seleccionar columnas específicas o todas las columnas de una tabla. También cubre la diferencia entre sentencias SQL y comandos SQL*PLUS.
Escribiendo sentencias SQL básicas y capacidades de SELECT
1. CAPITULO I
ESCRIBIENDO SENTENCIAS BÁSICAS DE
SQL
OBJETIVOS
Después de completar esta lección Ud. deberá ser capaz de realizar lo
siguiente:
Listar las capacidades de la sentencia SELECT de SQL.
Ejecutar una sentencia básica de SELECT
Diferenciar entre las sentencias SQL y los comandos de SQL*PLUS
OBJETIVO DE LA LECCIÓN
Para extraer datos de la base de datos Ud. necesita usar el comando
SELECT del lenguaje estructurado de consulta (SQL.). Ud. podrìa necesitar
restringir las columnas que son mostradas. Esta lección describe todos las
sentencias SQL. que necesita para obtener estas acciones. Ud. podría
querer crear sentencias SELECT que puedan ser reutilizadas. Esta lección
también cubre el uso de comandos de SQL*PLUS para ejecutar sentencias
de SQL.
CAPACIDADES DE LA SENTENCIA SELECT DE SQL
La sentencia SELECT recupera información de la base de datos. Al utilizarla
Ud. puede realizar lo siguiente:
Selección: Ud. puede utilizar la capacidad de selección para elegir filas en
una tabla que Ud. desea de respuesta a una consulta. Ud. puede utilizar
varios criterios para restringir selectivamente las columnas que Ud. ve.
2. Proyección: Ud. puede utilizar la capacidad de proyección para elegir
columnas en una tabla que Ud. desea de respuesta a una consulta. Ud.
puede elegir unas pocas o muchas columnas de la tabla como requiera.
Unión: Ud. puede utilizar la capacidad de unión para mostrar juntas la
información almacenada en diferentes tablas mediante la creación de un
link entre ellas.
3. SENTENCIA SELECT BÁSICA
SELECT [DISTINCT] {*, column [alias], … }
FROM table;
• SELECT identifica que columnas va a desplegar
• FROM identifica tabla de la que se va a obtener la información
En su forma simple, la sentencia SELECT debería incluir lo siguiente:
♠ La cláusula SELECT, la cual especifica cha columnas serán desplegadas
♠ La cláusula FROM, la cual especifica la tabla que contiene las columnas
listad en la cláusula SELECT.
Sintaxis:
SELECT es una lista de una o mas columnas
DISTINCT elimina los nombres duplicados
* selecciona todas las columnas
column selecciona la columna especifica
alias le da a la columna seleccionada una cabecera diferente
FROM table especifica la tabla que contiene las columnas
Nota: A lo largo de este curso las palabras : clave, cláusula y sentencia son
utilizadas:
♠ Una clave se refiere a un elemento individual de SQL; por ejemplo:
SELECT y FROM son palabras claves.
♠ Una cláusula es parte de una sentencia de SQL., por ejemplo: SELECT
empno, ename, … es una cláusula.
♠ Una sentencia es una combinación de dos o mas cláusulas, por ejemplo:
SELECT * FROM emp es una sentencia.
Volver...
ESCRIBIENDO SENTENCIAS SQL
• Las sentencias de SQL. son no sensitivas,
a menos que se lo indique
• Las sentencias de SQL. pueden ser ingresadas en
una o en varias líneas.
• Las palabras claves no pueden ser divididas
en líneas o ser abreviadas.
• Las cláusulas son usualmente ubicadas en líneas
separadas para una mejor lectura y facilidad de edición
• Las tabulaciones pueden ser utilizadas para hacer
código mas legible .
4. Usando las siguientes reglas y pautas, Ud. podrá construir sentencias validas
que son fáciles para leer y editar:
• Las sentencias de SQL. son no sensitivas, a menos que se lo indique.
• Las sentencias de SQL. pueden ser ingresadas en una o en varias líneas.
• Las palabras claves no pueden ser divididas en líneas o ser abreviadas.
• Las cláusulas son usualmente ubicadas en líneas separadas para una
mejor lectura y facilidad de edición
• Las tabulaciones e indentaciones pueden ser utilizadas para hacer código
más legible .
• Las palabras claves típicamente son ingresadas en mayúsculas, el resto de
las palabras tales como el nombre de las tablas y columnas son ingresadas
en minúsculas.
• Dentro de SQL*PLUS, una sentencia de SQL es ingresada en el prompt de
SQL, y las líneas subsiguientes son numeradas. Esto es denominado SQL
buffer. Solamente una sentencia puede estar actualmente en cualquier
momento dentro del buffer.
EJECUTANDO SENTENCIAS SQL
• Ponga un punto y coma (;) al final de la ultima cláusula.
• Ponga una diagonal (/) en la ultima línea del buffer.
• Ponga una diagonal (/) en el prompt de SQL
• Digite el comando RUN de SQL*PLUS en el prompt de SQL
SELECCIONANDO TODAS LAS COLUMNAS, TODAS LAS FILAS
SQL> SELECT *
FROM dept;
DEPTNO DNAME LOC
------------- ------------------------- ----------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
Ud. puede desplegar todas las columnas de datos en una tabla digitando la
palabra clave SELECT con un asterisco (*). En el ejemplo, la tabla
departamento contiene tres columnas: deptno, dname y loc. La tabla contiene
cuatro filas, una por cada departamento. Ud. también puede desplegar todas
las columnas de la tabla listando todas las columnas después de la palabra
SELECT. Por ejemplo, la siguiente sentencia SQL, despliega todas las
columnas y filas de la tabla:
SQL> SELECT deptno, dname, loc
FROM dept;
5. SELECCIONANDO COLUMNAS ESPECÍFICAS, TODAS LAS FILAS
Ud. puede usar la sentencia SELECT para desplegar columnas especificas de l
tabla
especificando los nombres de las columnas separadas por comas. En el
siguiente ejemplo, se muestran todos los números de departamento y sus
localidades de la tabla dept:
SQL> SELECT deptno, loc
FROM dept;
DEPTNO LOC
------------- ----------------
10 NEW YORK
20 DALLAS
30 CHICAGO
40 BOSTON
En la cláusula SELECT se especifican las columnas a observar en el orden en
el que se desea que estas aparezcan, por ejemplo, para desplegar la localidad
antes del número de departamento se usa la siguiente sentencia:
SQL> SELECT loc, deptno
FROM dept;
LOC DEPTNO
------------------ -------------------
NEW YORK 10
DALLAS 20
CHICAGO 30
BOSTON 40
VALOR POR DEFECTO DE LOS ENCABEZADOS DE COLUMNA
Los caracteres del encabezado de columna y sus datos están justificados a la
izquierda dentro del ancho de su columna. Los encabezados numéricos y los
datos están justificados a la derecha:
SQL> SELECT ename, hiredate, sal
FROM emp;
ENAME HIREDATE SAL
------------------- -------------- ------------
SMITH 17/12/80 800
ALLEN 20/02/81 1600
WARD 22/02/81 1250
JONES 02/04/81 2975
MARTIN 28/09/81 1250
6. Los encabezados de datos y carácter pueden ser truncados, pero los
encabezados numéricos no. Los encabezados de columna aparecen en
mayúsculas por defecto. Ud. puede modificar el despliegue del encabezado
usando un alias.
Volver...
EXPRESIONES ARITMÉTICAS
Operador Descripción
+ Adición
- Substracción
* Multiplicación
/ Dividido
Usted puede requerir modificar la manera en la que los datos son desplegados,
mejorar cálculos u observarlos como guiones. Esto es posible usando
expresiones aritméticas. Una expresión aritmética puede contener nombres de
columnas, valores numéricos constantes y operadores aritméticos.
OPERADORES ARITMÉTICOS
Ud. puede usar los operadores aritméticos en cualquier cláusula de una
sentencia SQL exceptuando en la cláusula FROM.
7. USANDO LOS OPERADORES ARITMÉTICOS
SQL> SELECT sal,sal+300
FROM emp;
ENAME SAL SAL+300
SMITH 800 1100
ALLEN 1600 1900
WARD 1250 1550
JONES 2975 3275
MARTIN 1250 1550
En el siguiente ejemplo Ud. puede calcular un incremento de $300 en el salario
para todos los empleados y desplegar una columna nueva SAL+300. Note que
el resultado calculado de la columna SAL+300 no es una nueva columna en la
tabla emp; sólo es un despliegue. Por defecto el nombre de una nueva columna
viene del cálculo que, en este caso, es SAL+300.
Nota: SQL*PLUS ignora los espacios en blanco antes y después del operador
aritmético.
PRECEDENCIA DE LOS OPERADORES
* / + -
• Multiplicación y la división tienen mayor prioridad que la
adición
• Los operadores de una misma prioridad son evaluados
de izquierda a derecha
• Los paréntesis que la expresión dentro de ellos sea
evaluada primera.
Si una expresión aritmética contiene más de un operador, la multiplicación y
división son evaluadas primero. Si los operadores dentro de una expresión
tienen la misma prioridad, la evaluación se realiza de izquierda a derecha. Ud.
puede usar paréntesis para forzar que la expresión dentro de los paréntesis sea
evaluada primero.
En el siguiente ejemplo se despliega el nombre, el salario y la compensación
anual de los empleados. Esta calcula la compensación anual con 12
multiplicado por el salario mensual mas un bono de $100. Note que la
multiplicación es realizada antes de la suma.
Nota: Use los paréntesis para reforzar el orden estándar de precedencia y
mejorar la claridad. Por ejemplo, la expresión puede ser escrita como (12*sal)
+100 sin cambio en el resultado.
SQL> SELECT ename, sal, 12*sal+100
FROM emp;
8. ENAME SAL 12*SAL+100
------------------- -------------- -------------------
SMITH 800 9700
ALLEN 1600 19300
WARD 1250 15100
JONES 2975 35800
MARTIN 1250 15100
USANDO PARÉNTESIS
SQL> SELECT ename, sal, 12*(sal+100)
FROM emp;
ENAME SAL 12*(SAL+100)
------------------- -------------- -------------------
SMITH 800 9700
ALLEN 1600 19300
WARD 1250 15100
JONES 2975 35800
MARTIN 1250 15100
Ud. puede modificar las reglas de precedencia usando paréntesis para
especificar el orden en el cual los operadores son ejecutados. El siguiente
ejemplo despliega el nombre, salario y compensación anual de los empleados
tal como el ejemplo anterior pero debido al paréntesis la adición toma prioridad
sobre la multiplicación.
DEFINIENDO VALORES NULOS
SQL> SELECT ename, job, sal, comm
FROM emp;
ENAME JOB SAL COMM
------------------- -------------- -------------- -------------
-
SMITH CLERK 800
ALLEN SALESMAN 1600 300
WARD SALESMAN 1250
JONES MANAGER 2975
MARTIN SALESMAN 1250
Si en una fila falta el dato para una columna en particular se dice que esta nula
o contiene un nulo. Un valor nulo es un valor indefinido, no asignado,
9. desconocido o inaplicado. Un valor nulo no es lo mismo que un cero o un
espacio. Cero es un número y un espacio es un caracter. Las columnas de
cualquier tipo de dato pueden contener valores nulos, a menos que la columna
sea definida como ‘no nula’ o como llave primaria cuando la columna era
creada. En la columna COMM de la tabla emp, Ud. puede notar que sólo un
vendedor pudo ganar comisiones. Otros empleados son clasificados que no
ganaron comisiones. Un valor nulo representa este hecho. Turner, quien es un
vendedor, no ha ganado ninguna comisión. Note que esta comisión es cero y
no nulo.
VALORES NULOS EN EXPRESIONES ARITMÉTICAS
SQL> SELECT ename, 12*sal+comm
FROM emp
WHERE ename=’KING’;
ENAME 12*SAL+COMM
------------------- --------------
KING
Si el valor de alguna columna en una expresión aritmética es nulo, el resultado
es nulo. Por ejemplo, si Ud. se empeña en realizar una división por cero, Ud.
obtendrá un error. Sin embargo, si Ud. divide un número por un nulo, el
resultado es un nulo o un valor desconocido. En el siguiente ejemplo, el
empleado KING no es un vendedor y no obtiene ninguna comisión. Debido a
que la columna COMM en la expresión aritmética es nulo, el resultado es nulo.
Volver...
DEFINIENDO UN ALIAS DE COLUMNA
• Permite renombrar una columna
• Usado para cálculos
• Después de nombrar a la columna se puede poner AS
para poner el alias.
• Requiere de comillas dobles cuando el alias tiene
espacios en blanco.
Cuando se despliega el resultado de una consulta, SQL*PLUS normalmente
usa el nombre de la columna seleccionada como encabezado de esa columna.
En muchas ocasiones este encabezado puede no ser descriptivo y por eso es
difícil de ser entendido. Ud. puede cambiar el encabezado de una columna
usando un alias. Especifique el alias después de la columna en la lista de
SELECT usando un espacio como un separador. Por defecto, el encabezado de
alias aparece en mayúsculas. Si el alias contiene espacios , caracteres
especiales (tales como # o $), o si es sensitivo, adjunte el alias en comillas
dobles (“”).
10. USANDO EL ALIAS DE COLUMNA
El siguiente ejemplo despliega el nombre y el salario mensual de todos los
empleados. Note que la palabra clave opcional AS ha sido usada antes de la
columna con alias. El resultado de la consulta podría ser el mismo aún si la
clave AS es usada o nó. Note también que l sentencia SQL tiene un alias d
columna nombre y salario en minúsculas, considerando que el resultado de la
consulta despliega loa encabezados de columna en mayúsculas asì:
SQL> SELECT ename AS name, sal salary
FROM emp
NAME SALARY
------------------- ------------
SMITH 800
ALLEN 1600
WARD 1250
JONES 2975
MARTIN 1250
SQL> SELECT ename “name”, sal*12 “salario anual”
FROM emp
NAME SALARIO ANUAL
---------------- ------------
--
SMITH 9600
ALLEN 19200
WARD 15000
JONES 35700
MARTIN 15000
En este ejemplo se despliega el nombre y el salario anual de todos los
empleados. Debido a que el salario anual contiene espacios, este ha sido
encerrado entre comillas dobles. Note que el encabezado de columna en la
salida es exactamente el mismo que en la columna alias.
Volver...
OPERADOR DE CONCATENACIÓN
• Concatena columnas o cadenas de caracteres u otras
columnas
• Representado por ||
• Crea una columna resultante que es una expresión
11. Ud. puede unir columnas a otras columnas, expresiones aritméticas o valores
constantes para crear una expresión caracter usando el operador de
concatenación ( | | ). Las columnas a cada lado del operador son combinadas
para crear una salida como una única columna.
USANDO EL OPERADOR DE CONCATENACIÓN
En el siguiente ejemplo, las columnas ename y job son concatenados y son
asignadas el alias empleados. Note que el numero del empleado y el trabajo
están combinadas para producir por salidauna sola columna. La palabra clave
AS abtes del nombre del alias hace que la cláusula SELECT sea fácil de leer.
SQL> SELECT ename || job as “empleados”
FROM Emp
EMPLEADOS
-------------------
SMITHCLERK
ALLENSALESMAN
WARDSALESMAN
JONESMANAGER
MARTINSALESMAN
CADENAS LITERALES DE CARACTERES
Un literal es un carácter, un número, o información incluida en la sentencia
SELECT lista que no hay un nombre de columna o un alias de columna. Ésta se
encuentra impresa para cada fila retornada. Las cadenas literales con texto de
libre formato pueden ser incluìdas in el resultado de la consulta y ser tratadas
igual que en la lista de la sentencia SELECT. Los datos y caracteres literales
deberán estar encerrados entre comillas simples mientras que los números no.
USANDO UNA CADENA LITERAL DE CARACTERES
SQL> SELECT ename || ‘ is a ’ || job as “Detalles de Empleados ”
FROM emp;
DETALLES DE EMPLEADOS
-------------------
SMITH is a CLERK
ALLEN is a SALESMAN
WARD is a SALESMAN
JONES is a MANAGER
MARTIN is a SALESMAN
En el siguiente ejemplo se despliegan los nombres y trabajos de todos los
empleados. La columna ha sido titulado como Detalles de Empleados. Note que
los espacios entre las comillas simples en la sentencia SELECT. El espacio
mejora la legibilidad de la salida.
12. En el siguiente ejemplo, el nombre y el salario de cada empleado está
concatenado con un literal para dar a la fila que retorna un mayor significado:
SQL> SELECT ename || ‘ : ’ || ‘ 1 ’
2 || ‘ Salario Mensual = ’ || sal
monthly
3 FROM emp;
MONTHLY
----------------------------------------------------------
-----
SMITH 1 Salario Mensual =800
ALLEN 1 Salario Mensual =1600
WARD 1 Salario Mensual =1250
JONES 1 Salario Mensual =2975
MARTIN 1 Salario Mensual =1250
BLAKE 1 Salario Mensual =2850
Volver...
FILAS DUPLICADAS
SQL> SELECT deptno
FROM Emp
DEPTNO
-------------------
10
30
10
20
10
A menos que Ud. lo indique en otra parte, SQL*PLUS despliega el resultado de
una consulta sin eliminar las filas duplicadas. En el siguiente ejemplo se
muestran todos los números de departamento de la tabla emp. Note que los
números de departamento son repetidos.
13. ELIMINANDO LAS FILAS DUPLICADAS.
SQL> SELECT DISTINCT deptno
FROM emp
DEPTNO
-------------------
10
20
30
Para eliminar las filas duplicadas en el resultado incluya la palabra clave
DISTINCT en la cláusula SELECT inmediatamente después de ella. En el
siguiente ejemplo, la tabla emp actualmente contiene 14 filas pero únicamente
solo tres números de departamento en la tabla. Ud. puede especificar múltiples
columnas después del cualificador DISTINCT, el mismo que afecta a todas las
columnas seleccionadas y los resultados representan un combinación distinta
de las columnas.
SQL> SELECT DISTINCT deptno, job
FROM emp
DEPTNO JOB
------------------- ------------------
10 CLERK
10 MANAGER
10 PRESIDENT
20 ANALYST
Volver...
INTERACCIÓN DE SQL Y SQL*PLUS
14. Sentencia SQL Búffer Sentencia SQL
SQL*PLUS
Server
Comandos Query
SQL*PLUS Results
Reporte
Formatead
Server
SQL Y SQL*PLUS
SQL es un lenguaje de comandos para la comunicación con el servidor de
lenguaje Oracle desde cualquier herramienta o aplicación. Oracle SQL contiene
muchas extensiones. Cuando Ud. ingresa una sentencia SQL Ésta es
almacenada en una parte de la memoria llamada buffer de SQL y permanece
allí hasta que Ud. ingrese una nueva sentencia. SQL*PLUS es una herramienta
de Oracle que reconoce y somete las sentencias SQL al servidor de Oracle
para su ejecución y contiene su propio lenguaje.
CARACTERÌSTICAS DEL SQL
• Puede ser utilizado por un rango de usuarios, incluìdos aquellos con un
poco o sin ninguna experiencia.
• Es un lenguaje no procedimental.
• Reduce la cantidad de tiempo requerido para crear y mantener un sistema.
• Es un lenguaje similar al Inglés.
CARACTERISTICAS DEL SQL*PLUS
• Acepta entradas de sentencias ad-hoc.
15. • Acepta entradas de SQL desde archivo.
• Provee un editor de línea para modificar las sentencias SQL
• Controla la configuración del entorno.
• Formatea los resultados de las consultas dentro de un reporte básico.
• Accede local y remotamente a las bases de datos.
SENTENCIAS SQL VERSUS COMANDOS SQL*PLUS
SQL SQL*PLUS
* un idioma * un ambiente
* es estándar de ANSI * propiedad de Oracle
* palabras claves no pueden abreviarse * las palabras claves pueden ser
abreviadas.
* .las sentencias manipulan datos y * los comandos no permiten la
definiciones de tablas en la base de manipulación de valores en la base de
datos datos
Sentencias Búffe Comandos Búffer
SQL r SQL SQL SQL*PLUS
La siguiente tabla compara a SQL y SQL*PLUS :
SQL SQL*PLUS
• Es un lenguaje para la comunicación • Reconoce las sentencias SQL y
con el servidor Oracle para el las envìa al servidor.
acceso de los datos
• Está basado en el estándar ANSI • La interfase es propiedad de
SQL Oracle para la ejecución de las
sentencias SQL
• Manipula los datos y las definiciones • No permite la manipulación de
de las tablas en la base de datos. valores en la base de datos .
• Es ingresado en el buffer SQL en • Es ingresado una línea a la vez.
una o más líneas No se almacena en el buffer
SQL
• No tiene una continuación de • Tiene un guión (-) como n
carácter carácter de continuación si el
comando es más extenso que
una línea.
• No puede estar abreviado • Puede estar abreviado
• Utiliza un caracter de terminación • No requiere de caracteres de
para ejecutar el comando terminación; los comandos son
inmediatamente ejecutados
• inmediatamente.
• Utiliza funciones para realizar • Utiliza comandos para formatear
algunos formatos datos.
16. APRECIACIÓN GLOBAL DE SQL*PLUS
• Anotaciones en SQL*PLUS
• Describe la estructura de la tabla
• Edita sus sentencias de SQL
• Ejecuta el SQL desde el SQL*PLUS
• Guarda las sentencias SQL en archivos y añade las sentencias SQL a
los archivos
• Ejecuta archivos guardados.
• Carga los comandos desde el archivo al buffer para su edición.
SQL*PLUS es un entorno en el cual Ud. puede desarrollar lo siguiente:
• Ejecuta las sentencias SQL para recuperar, modificar, agregar y remover
datos de la base de datos.
• Formatea, realiza cálculos, almacena e imprime los resultados de reportes
en forma de reportes.
• Crea un archivo de escritura (script) para guardar las sentencias SQL para
uso repetitivo en el futuro.
Los comandos de SQL*PLUS pueden ser divididos en las siguientes categorìas:
Categorìa Propósito
Entorno Afecta el comportamiento general de las sentencias de SQL
para esa sesión
Formato Formatea el resultado de las consultas
Manipulación Guarda, carga y corre archivos de escritura
de archivo
Ejecución Envìa sentencias SQL hacia el buffer de Oracle 8 Server
Edición Modifica las sentencias SQL en el buffer.
Interacción Le permite a Ud. crear y pasar variables a las sentencias
SQL, imprimirlas y presentar mensajes en pantalla
Misceláneos Tiene varios comandos para conectarse a la base de datos,
manipular el entorno de SQL*PLUS y desplegar las
definiciones de las columnas.
CONECTÁNDOSE A SQL*PLUS
• Para el entorno de Windows
17. • Con la línea de Comando
Sqlplus[username[/password[@database]]]
username[/password[@database]]]
La manera de invocar SQL*PLUS depende del tipo de sistema operativo o
entorno Windows que Ud.esté corriendo. Para conectarse en unambiente
Windows:
• Click en start -> programas -> Oracle para WinNT -> SQL*PLUS plus 8.0
• Llenar los campos username, password y database
Para conectarse a través de un entorno de líneas de comando (DOS):
• Conéctese a su máquina.
• Ingrese el comando de SQL*PLUS de la siguiente manera:
> sqlplus [username [/password[ @database ]]]
username: es el nombre de su base de datos
password: es la clave de su base de datos. (si Ud. ingresa la clave
aquì, ésta es visible)
@database: es la cadena para conectarse a la base de datos.
Nota: Para asegurar la integridad de su clave, no la ingrese en el prompt del
sistema operativo. En su lugar, ingrese únicamente su nombre de usuario.
Ingrese el password en el prompt del password. Una vez que Ud. se ha
conectado con éxito a SQL*PLUS , Ud. podrá observar el siguiente mensaje:
SQL*Plus: Release 8.0.3.0.0 - Production on Vie Dic 28 1:54:30 2001
(c) Copyright 1997 Oracle Corporation. All rights reserved.
Conectado a:
Personal Oracle8 Release 8.0.3.0.0 - Production
With the Partitioning option
PL/SQL Release 8.0.3.0.0 - Production
Volver...
DESPLEGANDO LA ESTRUCTURA DE LA TABLA
DESCRIBE [tablename]
En SQL*PLUS Ud. puede desplegar la estructura de la tabla usando el
comando describe. El resultado del comando permite ver los nombres de las
columnas y sus tipos de datos asì como si una columna debería contener datos.
Sintaxis:
18. tablename: es el nombre de una tabla existente, vista o sinónimo accesible
para el usuario.
SQL> DESCRIBE dept
DEPTNO NULL? TYPE
--------------- ------------------ ------------------
--
DEPTNO NOT NULL Number (2)
DANME Varchar2 (14)
LOC Varchar2 (13)
En el anterior ejemplo se observa la descripción de la tabla dept:
- null? Indica si una columna deberá contener datos; not
null indica que esa columna deberá contener datos.
- type despliega el tipo de dato de una columna
Los tipos de datos son descritos en la siguiente tabla:
Tipo de dato Descripción
NUMBER (p, s) Valor numérico que tiene un máximo número de dígitos p,
y el numero de dígitos decimales s.
VARCHAR2(s) Valor carácter de longitud variable con un máximo de
tamaño s
DATE Valor de tiempo y fecha entre Enero1, 4712 AC y
Diciembre 31,9999 DC
CHAR (s) Longitud fija de caracteres con un valor de tamaño s.
COMANDOS DE EDICIÓN DE SQL*PLUS
Los comandos de edición de SQL*PLUS son ingresados una línea a la vez y no
son almacenados en el buffer de SQL
Comandos Descripción
A[PPEND] text Agrega texto al final de la línea actual
C[HANGE] /old / Cambia un texto viejo por uno nuevo en la línea actual.
new
C[HANGE] /text Borra el texto de la línea actual
C[LEAR] Borra todas las líneas del buffer SQL
BUFF[ER]
DEL Borra la línea actual
HI[NPUT] Inserta un número indefinido de líneas
I[NPUT] text Inserta una línea consistente de texto
L[IST] Lista todas las líneas del buffer de SQL
L[IST]n Lista una línea (especificada por n)
L[IST]m n Lista un rango de líneas (m a n)
R[UN] Despliega y corre la sentencia de SQL que actualmente está
en el buffer
N Especifica la linea para hacerla línea actual
n text Reemplaza la linea n con texto
0 text Inserta una linea antes de la línea 1
19. PAUTAS:
• Si Ud. presiona [return] antes de completar un comando, SQL*PLUS le
avisa a Ud. mediante un número.
• Ud. termina el buffer SQL por ingresar uno de los caracteres de terminación
( ; o / ) o presionando [return] dos veces. Luego Ud. verá el prompt de SQL
• Ud. puede ingresar solamente un comando SQL*PLUS por cada prompt.
Los comandos no son almacenados en el buffer. Para continuar con un
comando SQL*PLUS en la siguiente línea, finalice la línea actual con un
guión (-).
COMANDOS DE ARCHIVOS DE SQL*PLUS
Las sentencias de SQL se comunican con el servidor de Oracle. Los comandos
de SQL*PLUS controlan el entorno, el formato de las consultas y administran
los archivos. Ud. puede usar los comandos identificados en la siguiente tabla:
Comandos Descripción
S[AVE] filename [.ext] Guarda el contenido actual del buffer SQL en un
[REP[LACE]APP[END]] archivo. Use append para añadir algo en un archivo
existente; use replace para sobreescribir un archivo
existente. La extensión por defecto es *.sql
GET filename [.ext] Escribe el contenido de un archivo previamente
guardado en el buffer SQL La extensión por defecto
es *.sql
STA[RT]filename [.ext] Corre un comando de archivo previamente
almacenado
@filename [.ext] Corre un comando de archivo previamente
almacenado (similar a START)
ED[IT] Invoca al editor y almacena el contenido del buffer
en un archivo llamado afied.buf
ED[IT]filename [.ext] Invoca al editor para editar el contenido de un
archivo almacenado
SPO[OL]filename [.ext] Almacena los resultados de las consultas en un
OFF/OUT archivo. Off cierra el archivo spool. Out cierra el
archivo y envìa el resultado del archivo al sistema de
impresión
EXIT Abandona SQL*PLUS
Volver...