Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PLSQL Material
PLSQL Material
Contenido
Bloques
Creacin
de Program Units
Variables y Constantes
Tipos de Datos
Parmetros
Estructuras de Control
Manejo de Excepciones
Manejo de Cursores
Contenido
Packages
Cursores
Empaquetados
Sobrecarga de Operadores
Estructura de Datos
Triggers de la Base de Datos
Bloques
PL/SQL
es un lenguaje
estructurado por bloques
Un bloque permite agrupar
lgicamente declaraciones,
sentencias y excepciones
Un bloque puede ser:
annimo
procedimiento
funcin
Bloques
Se
rea de sentencias
rea de excepciones
Definicin
de subprogramas
locales en rea de declaraciones
Las
Bloques
Bloque
annimo
[DECLARE
--declaraciones]
BEGIN
--sentencias
[EXCEPTION
--manejadores]
END;
Bloques
Procedimiento:
--declaraciones]
BEGIN
--sentencias
[EXCEPTION
--manejadores]
END;
Bloques
Funcin:
--declaraciones]
BEGIN
--sentencias
[EXCEPTION
--manejadores]
Para
Variables y Constantes
PL/SQL
Variables y Constantes
Reglas
de alcance:
Variables y Constantes
Para
Variables y Constantes
Hay
Tipos de Datos
El
Tipos de Datos
Parmetros
Los
subprogramas se pasan
informacin mediante parmetros
La sintaxis para definir un parmetro
es
parameter_name [IN|OUT|IN OUT] tipo [(:=|
DEFAULT) expression]
Los
posicionalmente
por nombre
Estructuras de Control
Estructuras de Control
IF-THEN
IF condicion THEN
sequencia_de_sentencias;
END IF;
Estructuras de Control
IF-THEN-ELSE
IF condicion THEN
sequencia_de_sentencias1;
ELSE
sequencia_de_sentencias2;
END IF;
Estructuras de Control
IF-THEN-ELSIF
IF condicion THEN
sequencia_de_sentencias1;
ELSIF
sequencia_de_sentencias2;
ELSE
sequencia_de_sentencias3;
END IF;
Estructuras de Control
LOOP
<etiqueta>
LOOP
sequencia_de_sentencias;
END LOOP; <etiqueta>
Estructuras de Control
EXIT
EXIT [etiqueta];
EXIT-WHEN
Estructuras de Control
WHILE-LOOP
Estructuras de Control
FOR-LOOP
Estructuras de Control
GOTO
GOTO label;
NULL
NULL;
Manejo de Excepciones
En
Manejo de Excepciones
Para
Manejo de Excepciones
Ventajas:
Manejo de Excepciones
Manejo de Excepciones
Una
excepcion EXCEPTION;
Luego
se dispara con:
RAISE excepcion;
Manejo de Excepciones
Para
Manejo de Excepciones
En
Manejo de Excepciones
Cuando
Si
Manejo de Excepciones
EXCEPTION
WHEN nombre_exception1 THEN
sequencia_de_sentencias1;
WHEN nombre_exception1 THEN
sequencia_de_sentencias2;
.....
WHEN OTHERS THEN
sequencia_de_sentencias3;
Manejo de Excepciones
En
un manejador de excepciones es
posible utilizar las funciones:
SQLCODE: cdigo del error
SQLERRM: mensaje del error
Manejo de Cursores
Hay
Manejo de Cursores
Un
CURSOR nombre[(parametros)] IS
sentencia_select;
donde un parmetro tiene la forma:
nombre [IN] tipo [{:=|
DEFAULT}expr]
Manejo de Cursores
Un
Manejo de Cursores
Y
Manejo de Cursores
Cuando
Manejo de Cursores
El
Cerrar
un cursor implica
deshabilitarlo.
Manejo de Cursores
Es
La
sintaxis es la siguiente:
FOR variable IN cursor LOOP
sequencia_de_sentencias;
END LOOP;
Manejo de Cursores
FOR
de cursores declara
implcitamente la variable de tipo
cursor %ROWTYPE;
Automticamente:
abre el cursor
en cada paso asigna la fila actual a la
variable
al terminar de recorrer las filas, cierra el
cursor
Packages
Un
Packages
Ventajas:
modularidad
diseo de aplicaciones ms fcil
ocultamiento de informacin
mayor funcionalidad
Packages
Los
invocados
anidados
parametrizados
Lo
Packages
Especificacin
Packages
Cuerpo
Packages
La
especificacin mantiene
declaraciones pblicas, visibles a las
aplicaciones
Los objetos declarados en la
especificacin son pblicos:
pueden ser vistos por cualquier aplicacin
pueden ser vistos por cualquier
componente del paquete.
Packages
El
Packages
La
Packages
Los
objetos declarados en la
especificacin son pblicos (public):
pueden ser accedidos desde cualquier
aplicacin
Los objetos declarados en el cuerpo
son privados (private): slo pueden
ser accedidos por otras componentes
del cuerpo del paquete
Packages
Para
Packages
Existe
un paquete denominado
standard que define el ambiente
PL/SQL
Este paquete declara tipos,objetos y
subprogramas que estn
automticamente disponibles a
cualquier programa PL/SQL
Por ejemplo, se define en este
paquete la funcin ABS (valor
absoluto)
Packages
Los
Packages
Existen
Cursores empaquetados
Es
Cursores empaquetados
Para
declarar un cursor en la
especificacin:
CREATE PACKAGE nombre AS
/*especificacin del cursor/*
CURSOR nombre RETURN tipo_dato;
...
END nombre;
Cursores empaquetados
Para
implementar el cursor en el
cuerpo del paquete:
CREATE PACKAGE nombre AS
/*cuerpo del cursor/*
CURSOR nombre RETURN tipo_dato IS
sentencia_select;
...
END nombre;
Sobrecarga de Operadores
PL/SQL
Sobrecarga de Operadores
PL/SQL
procedimiento
Sobrecarga de Operadores
La
En
Estructuras de Datos
PL/SQL
permite la construccin de
tipos definidos por el usuario por
medio del constructor TYPE
El nuevo tipo declarado pasa a ser un
tipo ms del lenguaje
Es posible declarar variables de ese
tipo de la misma forma en que se
declara una variable de un tipo
escalar
Estructuras de Datos
La
Estructuras de Datos
Los
Estructuras de Datos
Una
Estructuras de Datos
Para
es:
Estructuras de Datos
Para
Estructuras de Datos
Es
variable_de_tipo_tabla1:=variable_de_tipo_ta
bla2;
Tambin
variable_de_tipo_tabla(posicion):=expresion;
Estructuras de Datos
Una
Estructuras de Datos
PRIOR(n): devuelve el nmero de ndice
del elemento previo al n-simo elemento
NEXT(n): devuelve el nmero de ndice
del elemento posterior al n-simo
elemento
DELETE: borra elementos de 3 formas:
DELETE: borra todos los elementos de la tabla
DELETE(n): borra el n-simo elemento
DELETE(m,n): borra todos los elementos en el
rango de ndices n..m
Estructuras de Datos
Para
Si
Estructuras de Datos
Un
Estructuras de Datos
Para
Estructuras de Datos
Es
Estructuras de Datos
Se
variable_de_tipo_registro1:=variable_de_tipo_registro
2;
Se
Estructuras de Datos
Se
Estructuras de Datos
Las
Estructuras de Datos
Se
Estructuras de Datos
Para
Estructuras de Datos
Si
Estructuras de Datos
Es
Estructuras de Datos
Es
Triggers de la Base de
datos
Un
Triggers de la Base de
datos
La
Triggers de la Base de
datos
BEFORE:
Triggers de la Base de
datos
Para
Triggers de la Base de
datos
Un
fila
Es posible pedir que el trigger se
dispare solo cuando se cumple una
condicin mediante la clusula WHEN
Triggers de la Base de
datos
Aplicaciones
de triggers:
Auditora sofisticada
Validaciones no estructurales
Derivacin automtica de valores de
columnas
Seguridad ms compleja
Tablas replicadas
Un