Professional Documents
Culture Documents
Unidad 13
Autor
Isabel Ponce
Unidad 13
Objetivos
• Procedimientos Almacenados
– Aplicaciones
– Ventajas
– Creación
– Parámetros
• De entrada
• De salida
• De entrada/salida
– Retornar valores
– Modificar Procedimientos
– Renombrar Procedimientos
– Borrar Procedimientos
– Recomendaciones
– Restricciones
Introducción
• La admisión de Procedimientos
Almacenados (Store
Procedures) difiere mucho
entre las distintas plataformas
de bases de datos.
Lotes
• En la unidad anterior se
examinaron los archivos en
lote.
• Un Procedimiento Almacenado
es un lote de instrucciones SQL,
reunidos en una unidad lógica,
compilada y almacenada en la
base de datos bajo un nombre.
• Proporcionan seguridad.
– Los usuarios pueden obtener permisos
sobre un procedimiento que modifica datos
en vez de permisos para modificar
directamente la tabla.
Creación
• El procedimiento almacenado se
almacena en la base de datos actual,
pero puede acceder objetos de otras BD.
Creación
• Ejemplo:
• Ejemplo:
call prNombreAutores;
call prNombreAutores();
Parámetros de entrada
• Sintaxis:
• Ejemplo
• Sintaxis:
call p11(@y)//
select @y//
Parámetros de salida
• Un parámetro de entrada/salida es
pasado el procedimiento con un valor,
puede ser modificado por el
procedimiento y cualquier cambio será
visible al salir del procedimiento.
Múltiples Parámetros
• Ejemplo:
create procedure prInfoAutor
(nombre varchar(40),
apellido varchar(40))
select au_fname, au_lname, title, pub_name
from authors A, publishers P, titles T, titleAuthor TA
where au_fname = nombre
and au_lname = apellido
and A.au_id = TA.au_id
and T.title_id = TA.title_id
and P.pub_id = T.pub_id;//
• Esto incluye:
– mostrar un mensaje de error
– control de transacciones
– retornar estado
• Un procedimiento se debe
borrar:
– antes de crear otro con el mismo
nombre.
– Cuando se cambia el código del
procedimiento.
• Ejemplo:
create proc…
call proc2...
call proc3...
return
Obtener Información
• Reutilizar código.
Recomendaciones
– create view
– create rule
– create default
– create procedure
– create trigger
– alter
– drop
• Un procedimiento almacenado es un
lote de SQL que se compila y almacena
en la BD.
1. Crear un procedimiento
almacenado que retorne todos
los title_id, títulos y tipos de la
tabla de títulos.
2. Modificar el procedimiento
anterior para que retorne sólo los
títulos del tipo que se
especifique.
3. Mejorar este procedimiento para
proporcionar un valor por omisión
si no se le indica valor.
4. Modificarlo otra vez para retornar
el total de ventas de un tipo en
una variable y ejecutarlo.
5. Modificarlo para retornar el total
sólo si se indica el tipo.