Está en la página 1de 92

PL/SQL

Introduccin
SQL es un Lenguaje de Consulta para los
Sistemas de Base de Datos relacionales, pero
no posee la potencia de los lenguajes de
programacin.
Realizacin de una Aplicacin Completa.
Necesidad de una Herramienta que soporte la
capacidad de consulta del SQL y la versatilidad
de los lenguajes de programacin.
PL/SQL
Es un Lenguaje de Programacin en el cual
se extiende el SQL estndar con otro tipo de
instrucciones.
Es un Lenguaje Estructurado en Bloques.
Un bloque (o sub-bloque) permite agrupar en Un bloque (o sub-bloque) permite agrupar en
forma lgica un grupo de sentencias. De esta
manera se pueden efectuar declaraciones de
variables que slo tendrn validez en los
bloques donde stas se definan.
PL/SQL
Un bloque
PL/SQL tiene tres
partes bien
diferenciadas:
Declaracin,
Ejecucin
Manejo de Manejo de
excepciones.
Slo el bloque de
ejecucin es
obligatorio en un
programa PL/SQL.
Estructura de Un Bloque PL/SQL
Tipos de Bloque PL/SQL
Aplicaciones
Declaracin
y
Ejecucin Ejecucin
Declaracin de Variables
Se declaran todos los tipos de datos, las
constantes y variables utilizadas en el bloque
de ejecucin.
Tambin se declaran cursores y excepciones Tambin se declaran cursores y excepciones
definidas por el usuario
Es Recomendable que el nombre de una
variable comience con la letra v, el de una
constante c
Declaracin de Variables
Asignacin de Valores a Variables
Tipos de datos
Declaracin de Variables
Atributo % TYPE
Referenciando Variables No
PL/SQL
Comentarios
Bloques Anidados y Variables
Ordenes SQL en PL/SQL
Control de Transacciones
Ordenes SQL en PL/SQL
Estructuras de Control
Flujo IF-THEN-ELSE
Flujo IF-THEN-ELSIF
Control de Iteraciones
Bucle Bsico
Bucle Bsico
Bucle For
Bucle While
Bucle While
Bucles Anidados y etiquetas
Bucles Anidados y etiquetas
Cursores
El resultado de una consulta puede
almacenarse en variables cuando devuelve
un solo registro.
Cuando el resultado de una consulta
devuelve ms de un registro, resulta
necesario la utilizacin de cursores que
permitan recorrer todos los registros.
Tipos de Cursores
Cursor Explcito
Control de Cursores explcitos
Declarando el Cursor
Uso del Cursor
Atributos del Cursor Explcito
Uso del Cursor
Bucle FOR CURSOR
Bucle FOR CURSOR
Bucle FOR CURSOR usando
Subconsultas
Cursores con Parmetros
Cursores con Parmetros
Cursores con Subconsultas
Excepciones
Gestionando Excepciones con
PL/SQL
Gestionando Excepciones
Tipos de Excepciones
Capturando Excepciones
Capturando errores predefinidos
Excepcin Predefinida
Funciones para capturar
Excepciones
Funciones para capturar
Excepciones
RAISE_APPLICATION_ERROR
RAISE_APPLICATION_ERROR
RAISE_APPLICATION_ERROR
Procedimientos
Procedimiento
Creacin de un Procedimiento
Sintaxis:
Modos de Parmetros en el
Procedimiento
Modos de Parmetros
Ejemplo de Parmetro de entrada (IN)
Ejemplo de Parmetro de salida (out)
Ejemplo de Parmetro de salida (out)
Parmetro de entrada y salida
(IN OUT)
Parmetros de Salida (OUT) en el
SQL*PLus
Parmetros de Entrada y Salida
(IN OUT) en el SQL*PLus
Declarando SUBPROGRAMAS
Invocando un Procedimiento
desde un Bloque PL/SQL
Invocando un Procedimiento desde
un Procedimiento Almacenado
Borrando un Procedimiento
Sintaxis:
Ejemplo:
Funciones
Funcin
Crear una Funcin
Sintaxis:
Crear una Funcin
Ejemplo:
Ejecutando una Funcin en
SQL*PLus
Ejemplo:
Borrando Funciones
Sintaxis:
Ejemplo:
Procedimiento o Funcin
Comparacin Procedimiento o
Funcin
Paquetes
Paquetes
Ventajas del paquete
Desarrollando un paquete
Especificacin del paquete
Especificacin del paquete
(ejemplo)
Cuerpo del paquete
Cuerpo del paquete
Cuerpo del paquete:ejemplo
Invocando constructores del
paquete
Invocando constructores del
paquete

También podría gustarte