PDF de programación - Tutorial PL/SQL

Imágen de pdf Tutorial PL/SQL

Tutorial PL/SQLgráfica de visualizaciones

Publicado el 8 de Abril del 2018
4.314 visualizaciones desde el 8 de Abril del 2018
386,4 KB
94 paginas
Creado hace 14a (28/11/2009)
1. Tutorial PL/SQL.
1.1. Introducción.

SQL es un lenguaje de consulta para los sistemas de bases de datos relacionales,
pero que no posee la potencia de los lenguajes de programación. No permite el
uso de variables, estructuras de control de flujo, bucles, entre otros; además
elementos característicos de la programación. No es de extrañar, SQL es un
lenguaje de consulta, no un lenguaje de programación.

Sin embargo, SQL es la herramienta ideal para trabajar con bases de datos.
Cuando se desea realizar una aplicación completa para el manejo de una base de
datos relacional, resulta necesario utilizar alguna herramienta que soporte la
capacidad de consulta del SQL y la versatilidad de los lenguajes de programación
tradicionales. PL/SQL es el lenguaje de programación que proporciona Oracle
para extender el SQL estándar con otro tipo de instrucciones y elementos
propios de los lenguajes de programación.

Para abordar el presente tutorial con mínimo de garantías es necesario conocer
previamente SQL.

Cuando se desea realizar una aplicación completa para el manejo de una base de
datos relacional, resulta necesario utilizar alguna herramienta que soporte la
capacidad de consulta del SQL y la versatilidad de los lenguajes de programación
tradicionales. PL/SQL es el lenguaje de programación que proporciona Oracle
para extender el SQL estándar con otro tipo de instrucciones.

¿Que vamos a necesitar?
Para poder seguir este tutorial correctamente necesitaremos tener los siguientes
elementos:

• Una instancia de ORACLE 8i o superior funcionando correctamente.
• Herramientas cliente de ORACLE, en particular SQL*Plus para poder
• Haber configurado correctamente una conexión a ORACLE.

ejecutar los ejemplo.

1

1.2. Programación PL/SQL.

Con PL/SQL vamos a poder programar las unidades de programa de la base de
datos ORACLE, están son:

• Procedimientos almacenados
• Funciones
• Triggers
• Scripts

Pero además PL/SQL nos permite realizar programas sobre las siguientes
herramientas de ORACLE:

• Oracle Forms
• Oracle Reports
• Oracle Graphics
• Oracle Aplication Server

2

2. Fundamentos de PL/SQL.

2.1. Primeros pasos con PL/SQL.

Para programar en PL/SQL es necesario conocer sus fundamentos.

Como introducción vamos a ver algunos elementos y conceptos básicos del
lenguaje.

• PL/SQL no es CASE-SENSITIVE, es decir, no diferencia mayúsculas de
minúsculas como otros lenguajes de programación como C o Java. Sin
embargo debemos recordar que ORACLE es CASE-SENSITIVE en la
búsquedas de texto.

• Una linea en PL/SQL contiene grupos de caracteres conocidos como

UNIDADES LEXICAS, que pueden ser clasificadas como:

• DELIMITADORES
• IDENTIFICADORES
• LITERALES
• COMENTARIOS
• EXPRESIONES

• DELIMITADOR: Es un símbolo simple o compuesto que tiene una función

especial en PL/SQL. Estos pueden ser:

• Operadores Aritméticos
• Operadores Lógicos
• Operadores Relacionales

• IDENTIFICADOR: Son empleados para nombrar objetos de programas en
PL/SQL así como a unidades dentro del mismo, éstas unidades y objetos
incluyen:

• Constantes
• Cursores
• Variables
• Subprogramas
• Excepciones
• Paquetes

3

• LITERAL: Es un valor de tipo numérico, caracter, cadena o lógico no

representado por un identificador (es un valor explícito).

• COMENTARIO: Es una aclaración que el programador incluye en el código.
Son soportados 2 estilos de comentarios, el de línea simple y de multilínea,
para lo cual son empleados ciertos caracteres especiales como son:

-- Linea simple
/*
Conjunto de Lineas
*/

4

2.2. Tipos de datos en PL/SQL.

Cada constante y variable tiene un tipo de dato en el cual se especifica el
formato de almacenamiento, restricciones y rango de valores válidos.
PL/SQL proporciona una variedad predefinida de tipos de datos . Casi todos los
tipos de datos manejados por PL/SQL son similares a los soportados por SQL. A
continuación se muestran los TIPOS de DATOS más comunes:

• NUMBER (Numérico): Almacena números enteros o de punto flotante,
virtualmente de cualquier longitud, aunque puede ser especificada la
precisión (Número de dígitos) y la escala que es la que determina el
número de decimales.

saldo NUMBER(16,2);
/* Indica que puede almacenar un valor numérico de 16
posiciones, 2 de ellas decimales. Es decir, 14 enteros
y dos decimales */

•CHAR (Caracter): Almacena datos de tipo caracter con una longitud máxima de
32767 y cuyo valor de longitud por default es 1

-- CHAR [(longitud_maxima)]

nombre CHAR(20);
/* Indica que puede almacenar valores alfanuméricos de 20
posiciones */

•VARCHAR2 (Caracter de longitud variable): Almacena datos de tipo caracter
empleando sólo la cantidad necesaria aún cuando la longitud máxima sea mayor.

-- VARCHAR2 (longitud_maxima)

nombre VARCHAR2(20);
/* Indica que puede almacenar valores alfanuméricos de hasta 20
posicones */
/* Cuando la longitud de los datos sea menor de 20 no se
rellena con blancos */

5

•BOOLEAN (lógico): Se emplea para almacenar valores TRUE o FALSE.

hay_error BOOLEAN;

•DATE (Fecha): Almacena datos de tipo fecha. Las fechas se almacenan
internamente como datos numéricos, por lo que es posible realizar operaciones
aritméticas con ellas.

• Atributos de tipo. Un atributo de tipo PL/SQL es un modificador que puede
ser usado para obtener información de un objeto de la base de datos. El
atributo %TYPE permite conocer el tipo de una variable, constante o
campo de la base de datos. El atributo %ROWTYPE permite obtener los
tipos de todos los campos de una tabla de la base de datos, de una vista o
de un cursor.

• PL/SQL también permite la creación de tipos personalizados (registros) y
colecciones(tablas de PL/SQL), que veremos en sus apartados
correspondientes.

Existen por supuesto más tipos de datos, la siguiente tabla los muestra:

6

Oracle 8i

Oracle 9i

Descripción

La
precisión

máxima es de 38
dígitos.

La precisión máxima es
de 38 dígitos.

Donde p es la
precisión y e la
escala.
Por ejemplo:
dec(3,1) es un
número que
tiene 2 dígitos
antes
del
decimal y un
dígito después
del decimal.



Donde p es la
precisión y e la
escala.
Por ejemplo:
decimal(3,1) es
un número que
tiene 2 dígitos
antes
del
decimal y un
dígito después
del decimal.



Tipo de dato /

Sintáxis

dec(p, e)

decimal(p, e)

La
precisión

máxima es de 38
dígitos.

La precisión máxima es
de 38 dígitos.

double
precision
float
int
integer

7

Tipo de dato /

Sintáxis

Oracle 8i

Oracle 9i

Descripción

numeric(p, e)

La
precisión

máxima es de 38
dígitos.

La precisión máxima es
de 38 dígitos.

number(p, e)

precisión

La
máxima es de 38
dígitos.

La precisión máxima es
de 38 dígitos.

Donde p es la
precisión y e la
Por
escala.
ejemplo:
numeric(7,2) es
un número que
tiene 5 dígitos
antes
del
decimal y 2
dígitos después
del decimal.



Donde p es la
precisión y e la
escala.
Por ejemplo:
number(7,2) es
un número que
tiene 5 dígitos
antes
del
decimal y 2
dígitos después
del decimal.



real
smallint
char (tamaño) Hasta 32767 bytes

en PLSQL.
Hasta 2000 bytes
en Oracle 8i.

Hasta 32767 bytes en
PLSQL.
Hasta 2000 bytes en
Oracle 9i.

varchar2
(tamaño)

Hasta 32767 bytes
en PLSQL.

Hasta 32767 bytes en
PLSQL.

8



Donde tamaño
es el número de
caracteres a
almacenar. Son
de
cadenas
ancho fijo. Se
rellena
con
espacios.
Donde tamaño
es el número de
caracteres a



Tipo de dato /

Sintáxis

Oracle 8i

Oracle 9i

Descripción

long

raw

Hasta 4000 bytes
en Oracle 8i.

Hasta 4000 bytes en
Oracle 9i.

Hasta 2 gigabytes. Hasta 2 gigabytes.

Hasta 32767 bytes
en PLSQL.
Hasta 2000 bytes
en Oracle 8i.

Hasta 32767 bytes en
PLSQL.
Hasta 2000 bytes en
Oracle 9i.

long raw

Hasta 2 gigabytes. Hasta 2 gigabytes.

date

timestamp
(fractional
seconds
precision)

Una fecha entre el
1 de Enero de 4712
A.C. y el 31 de
Diciembre de 9999
D.C.
No soportado por
Oracle 8i.

Una fecha entre el 1 de
Enero de 4712 A.C. y el
31 de Diciembre de
9999 D.C.

seconds
fractional
precision debe ser un
número entre 0 y 9. (El
valor por defecto es 6)

timestamp
(fractional
seconds
precision) with
time zone

No soportado por
Oracle 8i.

fractional
seconds
precision debe ser un
número entre 0 y 9. (El
valor por defecto es 6)

almacenar. Son
cadenas
de
ancho variable.



Son cadenas de
ancho variable.
Son cadenas
binarias
de
ancho variable.



Son cadenas
binarias
de
ancho variable.



Incluye año,
mes día, hora,
minutos
y
segundos.
Por ejemplo:
timestamp(6)



Incluye año,
mes día, hora,
minutos
y
segundos; con
un valor de
desplazamiento
de zona horaria.
Por ejemplo:
timestamp(5)
with time zone

9

Tipo de dato /

Sintáxis

Oracle 8i

Oracle 9i

Descripción

timestamp
(fractional
seconds
precision) with
local time
zone

No soportado por
Oracle 8i.

fractional
seconds
precision debe ser un
número entre 0 y 9. (El
valor por defecto es 6)

interval year
(year
precision) to
month

No soportado por
Oracle 8i.

year precision debe
ser un número entre 0 y
9. (El valor por defecto
es 2)

Incluye año,
mes día, hora,
minutos
y

segundos; con
una
zona

horaria
expresada como
la zona horaria
actual.
Por ejemplo:
timestamp(4)
with local time
zone



Período
de
tiempo
almacenado en
años y meses.
Por ejemplo:
interval year(4)
to month

No soportado por
Oracle 8i.

interval day
(day precision)
to second
(fractional
seconds
precision)

day p
  • Links de descarga
http://lwp-l.com/pdf10259

Comentarios de: Tutorial PL/SQL (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