Académique Documents
Professionnel Documents
Culture Documents
ALMACENADOS
2017
Tecnologa de la Programacin II
Procedimientos Almacenados - UNT
X JXJZJXZ
UNIVERSIDAD NACIONAL DE
TRUJILLLO
FACULTAD DE INGENIERA
TEMA:
PROCEDIMIENTOS ALMACENADOS
CURSO:
TECNOLOGA DE LA PROGRAMACIN II
PROFESOR:
INTEGRANTES:
TRUJILLO PER
2017
PREFIX A POSTFIX
TECNOLOGA DE LA PROGRAMACIN II I 2
Procedimientos Almacenados - UNT
CONTENIDO
Introduccion .................................................................... 4
Definicin ........................................................................ 5
Utilidad ............................................................................ 6
Ventaja............................................................................ 6
Desventajas .................................................................... 8
Create Procedure ........................................................... 9
La Sentencia CALL ......................................................... 9
La Sentencia Compuesta BEGINEND ........................ 9
Sentencia DECLARE ...................................................... 9
Variables en Procedimientos almacenados ................. 10
Constructores de Control de Flujo ................................ 12
Ejemplos ....................................................................... 15
Bibliografa .................................................................... 15
TECNOLOGA DE LA PROGRAMACIN II I 3
Procedimientos Almacenados - UNT
INTRODUCCIN
Un procedimiento, tambin denominado procedimiento almacenado, es una rutina que se
puede llamar para realizar operaciones que pueden incluir sentencias de SQL.
Los procedimientos de SQL proporcionan las mismas ventajas que los procedimientos de
un lenguaje principal. Es decir, una parte de un cdigo debe escribirse y mantenerse una
sola vez y puede llamarse desde varios programas.
TECNOLOGA DE LA PROGRAMACIN II I 4
Procedimientos Almacenados - UNT
PROCEDIMIENTOS ALMACENADOS
DEFINICIN
Los procedimientos pueden ser ventajosos: Cuando una base de datos es manipulada
desde muchos programas externos. Al incluir la lgica de la aplicacin en la base de datos
utilizando procedimientos almacenados, la necesidad de embeber la misma lgica en
todos los programas que acceden a los datos es reducida. Esto puede simplificar la
creacin y, particularmente, el mantenimiento de los programas involucrados.
Podemos ver un claro ejemplo de estos procedimientos cuando requerimos realizar una
misma operacin en un servidor dentro de algunas o todas las bases de datos y a la vez
dentro de todas o algunas de las tablas de las bases de datos del mismo. Para ello
podemos utilizar a los Procedimientos almacenados auto creables que es una forma de
generar ciclos redundantes a travs de los procedimientos almacenados.
TECNOLOGA DE LA PROGRAMACIN II I 5
Procedimientos Almacenados - UNT
UTILIDAD
Los procedimientos almacenados son muy tiles. A continuacin, enlisto algunos de los
posibles usos que pueden darse a estos objetos de la base de datos. Por ejemplo, si
deseamos obtener un reporte complejo que incluya instrucciones condicionales y clculos
complejos con datos obtenidos de varias tablas, un procedimiento almacenado es nuestro
mejor aliado. Tambin podemos ejecutar complejos procesos que a veces tardan horas
cuando son ejecutados desde el cliente, ya que en tales casos la informacin debe pasar
del servidor al cliente y viceversa. Cuando utilizamos un procedimiento almacenado, ste
es ejecutado por InterBase que a su vez es ejecutado en la computadora servidor. Casi
siempre las computadoras servidores son poderosas mquinas con mucha memoria,
discos rpidos y uno o ms procesadores tambin muy rpidos. Por lo tanto, al ejecutar
los procesos mediante procedimientos almacenados estamos aprovechando toda esa
capacidad de cmputo disponible en el hardware del servidor.
VENTAJAS
Mayor seguridad
TECNOLOGA DE LA PROGRAMACIN II I 6
Procedimientos Almacenados - UNT
Los procedimientos pueden cifrarse, lo que ayuda a ofuscar el cdigo fuente. Para
obtener ms informacin, vea Cifrado de SQL Server.
Mantenimiento ms sencillo
Rendimiento mejorado
TECNOLOGA DE LA PROGRAMACIN II I 7
Procedimientos Almacenados - UNT
DESVENTAJAS
TECNOLOGA DE LA PROGRAMACIN II I 8
Procedimientos Almacenados - UNT
SINTAXIS
Create Procedure
Estos comandos crean una rutina almacenada. Por defecto, la rutina se asocia con la base
de datos actual. Para asociar la rutina explcitamente con una base de datos, especifique el
nombre como db_name.sp_name al crearlo.
La lista de parmetros entre parntesis debe estar siempre presente. Si no hay parmetros,
se debe usar una lista de parmetros vaca ( ).
Cada parmetro es un parmetro IN por defecto. Para especificar otro tipo de parmetro,
use la palabra clave OUT o INOUT antes del nombre del parmetro. Especificando IN, OUT,
o INOUT slo es vlido para una PROCEDURE.
routine_body: procedimientos almacenados o comandos SQL vlidos.
La Sentencia CALL
CALL sp_name([parameter[,...]])
[begin_label:] BEGIN
[statement_list]
END [end_label]
Sentencia DECLARE
El comando DECLARE se usa para definir varios iconos locales de una rutina: las variables
locales, condiciones y handlers y cursores.
DECLARE puede usarse slo dentro de comandos compuestos BEGIN ... END y deben ser
su inicio, antes de cualquier otro comando.
TECNOLOGA DE LA PROGRAMACIN II I 9
Procedimientos Almacenados - UNT
Condiciones DECLARE
TECNOLOGA DE LA PROGRAMACIN II I 10
Procedimientos Almacenados - UNT
DECLARE handlers
condition_value:
SQLSTATE [VALUE] sqlstate_value
| condition_name
| SQLWARNING
| NOT FOUND
| SQLEXCEPTION
| mysql_error_code
Cursores
Se soportan cursores simples dentro de procedimientos y funciones
almacenadas. La sintaxis es la de SQL empotrado.
Declarar cursores
DECLARE cursor_name CURSOR FOR select_statement
Este comando declara un cursor. Pueden definirse varios cursores en una
rutina, pero cada cursor en un bloque debe tener un nombre nico.
El comando SELECT no puede tener una clusula INTO.
TECNOLOGA DE LA PROGRAMACIN II I 11
Procedimientos Almacenados - UNT
Sentencia IF
TECNOLOGA DE LA PROGRAMACIN II I 12
Procedimientos Almacenados - UNT
La sentencia CASE
CASE case_value
WHEN when_value THEN statement_list
[WHEN when_value THEN statement_list] ...
[ELSE statement_list]
END CASE
O:
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE
Sentencia LOOP
[begin_label:] LOOP
statement_list
END LOOP [end_label]
Sentencia LEAVE
LEAVE label
TECNOLOGA DE LA PROGRAMACIN II I 13
Procedimientos Almacenados - UNT
La sentencia ITERATE
ITERATE label
Sentencia REPEAT
[begin_label:] REPEAT
statement_list
UNTIL search_condition
END REPEAT [end_label]
Sentencia WHILE
TECNOLOGA DE LA PROGRAMACIN II I 14
Procedimientos Almacenados - UNT
EJEMPLOS
TECNOLOGA DE LA PROGRAMACIN II I 15
Procedimientos Almacenados - UNT
TECNOLOGA DE LA PROGRAMACIN II I 16
Procedimientos Almacenados - UNT
TECNOLOGA DE LA PROGRAMACIN II I 17
Procedimientos Almacenados - UNT
BIBLIOGRAFA
https://www.youtube.com/watch?v=siyGNSrh1Qw
https://es.wikipedia.org/wiki/Procedimiento_almacenado
http://www.hermosaprogramacion.com/2014/06/mysql-procedure-show-
create/
https://www.codejobs.biz/es/blog/2014/07/09/como-hacer-un-
procedimiento-almacenado-en-mysql-sin-morir-en-el-intento
http://enreas.wikia.com/wiki/Gu%C3%ADa_Pr%C3%A1ctica_MySQL_5.1/Cap
%C3%ADtulo_11:_Procedimientos_almacenados
TECNOLOGA DE LA PROGRAMACIN II I 18