Procedimientos_almacenados

18
Procedimientos almacenados en MySql JESÚS ALEJANDRO FLORES HERNÁNDEZ [email protected]

description

procedimientos almacenados en MySql

Transcript of Procedimientos_almacenados

Page 1: Procedimientos_almacenados

Procedimientos almacenados en MySqlJESÚS ALEJANDRO FLORES HERNÁNDEZJ FLORESPAMPANO@GMAIL .COM

Page 2: Procedimientos_almacenados

Introducción a los procedimientos almacenados

En esta presentación mostraremos como crear y usar procedimientos almacenados en MySql.

Objetivo: Crear y ejecutar procedimientos almacenados.

Page 3: Procedimientos_almacenados

Requerimientos

Trabajaremos con una base de datos en MySql, deberá tener instalada la versión 5.5.20 de MySql. Este ejemplo se probó con MySql de WAMP Server (ver http://www.wampserver.com/en/ ). Con la interface HeidiSQL (ver: http://www.heidisql.com/ ).

Y una base de datos para proveedores y partes llamada “provpar” con las tablas: • proveedores • Partes

Para instalar MySql y Heidi vea: http://es.slideshare.net/ltidesdaci/instalaciondmysqlwamp-y-heidisqlPara crear una base de datos en MySql usando Heidi vea: https://www.youtube.com/watch?v=40YYmufKXus

Page 4: Procedimientos_almacenados

Base de datos

Usaremos una base de datos llamada provpar que consta de las tablas: proveedores y partes que a continuación se muestran.

Page 5: Procedimientos_almacenados

Base de datos – tabla partes

Estructura de la tabla partes

Page 6: Procedimientos_almacenados

Base de datos – tabla proveedores

Estructura de la tabla proveedores

Page 7: Procedimientos_almacenados

Introducción Un procedimiento almacenado o stored procedure (SP) es un archivo de código SQL que procesa información de la base de datos, puede alterar la información de la base de datos (por ejemplo en un alta de datos) o puede producir un resultado (por ejemplo en una sentencia select, para mas información vea http://es.wikipedia.org/wiki/Procedimiento_almacenado).

Ventajas: una ventaja de los SP es que se ejecutan en el servidor y no en el cliente y dado que el servidor tiene mas recursos de computo, los resultados se obtienen mas rápidamente. Otra ventaja es que si se tienen varias aplicaciones que acceden a la base de datos, el mismo SP puede servirles a todas lo cual reduce la cantidad de código necesario para la aplicación, de otro modo se tendría que programar la misma funcionalidad en cada aplicación que realice el mismo acceso a la base de datos. Otra ventaja es que aísla la capa de acceso a datos lo cual focaliza posibles errores y facilita el mantenimiento.

Page 8: Procedimientos_almacenados

Crear un SP de consulta

Para crear un SP que recupere los datos de la tabla partes, en Heidi-SQL:

Hacemos:

1. Abra una sesión en Heidi

2. Clic derecho en La base de datos

3. Clic izquierdo Crear nuevo

4. Clic izquierdo Rutina almacenada

Page 9: Procedimientos_almacenados

En la ventana de edición:

1. Ponga el nombre del SP.

2. Inserte este código de consulta.

3. Guarde el SP

Page 10: Procedimientos_almacenados

Ejecutar un SP

1. En una ventana de consulta.

2. Teclee el llamado a un SP: call traePartes;

3. Ejecute4. Vea el resultado

Page 11: Procedimientos_almacenados

Parámetros en un SP Suponga que tenemos los datos.

Pero queremos mostrar solo las partes que tengan cierto costo dado, por ejemplo todas las partes cuyo costo unitario cu sea igual a 25. Para esto podemos usar parámetros en un SP

Page 12: Procedimientos_almacenados

Agregar parámetro. Clic En el SP a utilizar

1. Clic en parámetros2. Clic en agregar3. Poner nombre al parámetro4. Poner tipo de datos del

parámetro5. Clic en guardar

Page 13: Procedimientos_almacenados

Utilizar el parámetro

Agregar el código necesario:En este caso se requiere un select de tal forma que el valor de campo cu de la tabla partes sea igual al parámetro dado (llamado micosto en nuestro ejemplo).

Page 14: Procedimientos_almacenados

Llamar al SP con parámetro

Observe el valor mandado como parámetro, en este ejemplo, 25. Y el resultado: los registros cuyo cu sea igual a 25.

Page 15: Procedimientos_almacenados

Ejemplo de insert con parámetros para una tabla materia

1. Observe los parámetros y sus tipos2. Algún procesamiento de los datos

antes de insertarlos3. La inserción de datos4. Lo que esta precedido por # son

comentarios

Page 16: Procedimientos_almacenados

Procesamiento de los datos

Otra ventaja de los SP es que al recibir los datos por ejemplo de una inserción como parámetros, dentro del SP se procesan estos datos antes de insertarlos, verificando su contenido, por ejemplo en costo unitario podríamos verificar que el costo no sea negativo o por ejemplo si el alumno esta dando el nombre de una materia que quiere dar de alta en su kardex, antes de insertarla en el SP podemos revisar si la materia existe (aunque esto se revisa mediante la integridad referencial el revisarlo antes evita que se dispare el error).

Page 17: Procedimientos_almacenados

Lenguaje de SP en MySql

Para una referencia a los SP en Mysql vea:

http://dev.mysql.com/doc/refman/5.0/es/stored-procedure-syntax.html

http://www.mysqltutorial.org/introduction-to-sql-stored-procedures.aspx

http://www.mysqltutorial.org/mysql-if-statement/

http://www.mysqltutorial.org/mysql-case-statement/

Page 18: Procedimientos_almacenados

Fin

http://www.wampserver.com/en/

http://www.heidisql.com/