SlideShare una empresa de Scribd logo
1 de 18
Procedimientos almacenados en MySql
JESÚS ALEJANDRO FLORES HERNÁNDEZ
J F L O R E S PA M PA N O @ G M A I L . C O M
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.
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-heidisql
Para crear una base de datos en MySql usando Heidi vea: https://www.youtube.com/watch?v=40YYmufKXus
Base de datos
Usaremos una base de datos llamada provpar que consta de las tablas: proveedores y partes
que a continuación se muestran.
Base de datos – tabla partes

Estructura de
la tabla partes
Base de datos – tabla proveedores

Estructura de
la tabla
proveedores
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.
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
En la ventana de edición:
1. Ponga el nombre del
SP.
2. Inserte este código
de consulta.
3. Guarde el SP
Ejecutar un SP
1. En una ventana de
consulta.
2. Teclee el llamado a un SP:
call traePartes;
3. Ejecute
4. Vea el resultado
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
Agregar parámetro. Clic En el SP a utilizar

1.
2.
3.
4.

Clic en parámetros
Clic en agregar
Poner nombre al parámetro
Poner tipo de datos del
parámetro
5. Clic en guardar
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).
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.
Ejemplo de insert con parámetros para una tabla
materia

1. Observe los parámetros y sus tipos
2. Algún procesamiento de los datos
antes de insertarlos
3. La inserción de datos
4. Lo que esta precedido por # son
comentarios
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).
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/
Fin
http://www.wampserver.com/en/
http://www.heidisql.com/

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Joins in SQL
Joins in SQLJoins in SQL
Joins in SQL
 
Diseño de base de datos
Diseño de base de datosDiseño de base de datos
Diseño de base de datos
 
Tipos de metodos programacion dos
Tipos de metodos  programacion dosTipos de metodos  programacion dos
Tipos de metodos programacion dos
 
4 libro fundamentos _condicional_oficio_2003_para_publicars_slidesharedoc
4 libro fundamentos _condicional_oficio_2003_para_publicars_slidesharedoc4 libro fundamentos _condicional_oficio_2003_para_publicars_slidesharedoc
4 libro fundamentos _condicional_oficio_2003_para_publicars_slidesharedoc
 
MySQL constraints
MySQL constraintsMySQL constraints
MySQL constraints
 
Fundamentals of windows.64
Fundamentals of windows.64Fundamentals of windows.64
Fundamentals of windows.64
 
Arquitectura Basada En Componentes
Arquitectura Basada En ComponentesArquitectura Basada En Componentes
Arquitectura Basada En Componentes
 
INSTRUCTIVO XAMPP
INSTRUCTIVO XAMPPINSTRUCTIVO XAMPP
INSTRUCTIVO XAMPP
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de Clases
 
Single row functions
Single row functionsSingle row functions
Single row functions
 
Reglas de transformación
Reglas de transformaciónReglas de transformación
Reglas de transformación
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Tablas hash en java
Tablas hash en javaTablas hash en java
Tablas hash en java
 
Reglas de producción
Reglas de producciónReglas de producción
Reglas de producción
 
Php Using Arrays
Php Using ArraysPhp Using Arrays
Php Using Arrays
 
Diagrama de-estado-de-procesos
Diagrama de-estado-de-procesosDiagrama de-estado-de-procesos
Diagrama de-estado-de-procesos
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
 
Frameworks Java
Frameworks JavaFrameworks Java
Frameworks Java
 

Similar a Crear SP MySql

Capa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosCapa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosUNACAR
 
Cursores , procedimientos almacenados en oracle y sql server
Cursores , procedimientos almacenados en oracle y sql serverCursores , procedimientos almacenados en oracle y sql server
Cursores , procedimientos almacenados en oracle y sql serverHome
 
Primeros pasos con Talent Open Studio TOS : Importando datos
Primeros pasos con Talent Open Studio TOS : Importando datosPrimeros pasos con Talent Open Studio TOS : Importando datos
Primeros pasos con Talent Open Studio TOS : Importando datosHeliberto Arias
 
Guia 1 conexion a base de datos sql server
Guia 1 conexion a base de datos sql serverGuia 1 conexion a base de datos sql server
Guia 1 conexion a base de datos sql serverMayito CH
 
conexion a base de datos sql server
conexion a base de datos sql serverconexion a base de datos sql server
conexion a base de datos sql serverMayito CH
 
Manual de Ruby on Rals con Postgresql.pptx
Manual de Ruby on Rals con Postgresql.pptxManual de Ruby on Rals con Postgresql.pptx
Manual de Ruby on Rals con Postgresql.pptxFrankMartinezHurtado
 
Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2mtemarialuisa
 
Inducción al diseño de una Base de Datos
Inducción al diseño de una Base de DatosInducción al diseño de una Base de Datos
Inducción al diseño de una Base de DatosJorge Luis Chalén
 
Toturial aplicacion base de datos jsp
Toturial aplicacion base de datos jspToturial aplicacion base de datos jsp
Toturial aplicacion base de datos jspGabriela Vazquez
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenadosDeisyVilchez
 
12 Guía_Fundamentos de Base de Datos.docx
12 Guía_Fundamentos de Base de Datos.docx12 Guía_Fundamentos de Base de Datos.docx
12 Guía_Fundamentos de Base de Datos.docxLeydyVeronicaDelgado
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datosAnthonyLeonRuiz
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datosAnthonyLeonRuiz
 

Similar a Crear SP MySql (20)

Capa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosCapa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenados
 
Cursores , procedimientos almacenados en oracle y sql server
Cursores , procedimientos almacenados en oracle y sql serverCursores , procedimientos almacenados en oracle y sql server
Cursores , procedimientos almacenados en oracle y sql server
 
Primeros pasos con Talent Open Studio TOS : Importando datos
Primeros pasos con Talent Open Studio TOS : Importando datosPrimeros pasos con Talent Open Studio TOS : Importando datos
Primeros pasos con Talent Open Studio TOS : Importando datos
 
Guia 1 conexion a base de datos sql server
Guia 1 conexion a base de datos sql serverGuia 1 conexion a base de datos sql server
Guia 1 conexion a base de datos sql server
 
conexion a base de datos sql server
conexion a base de datos sql serverconexion a base de datos sql server
conexion a base de datos sql server
 
Manual de Ruby on Rals con Postgresql.pptx
Manual de Ruby on Rals con Postgresql.pptxManual de Ruby on Rals con Postgresql.pptx
Manual de Ruby on Rals con Postgresql.pptx
 
Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2
 
Temario
Temario Temario
Temario
 
Inducción al diseño de una Base de Datos
Inducción al diseño de una Base de DatosInducción al diseño de una Base de Datos
Inducción al diseño de una Base de Datos
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Taller desarrollo web
Taller  desarrollo webTaller  desarrollo web
Taller desarrollo web
 
mysql y visual c++.pdf
mysql y visual c++.pdfmysql y visual c++.pdf
mysql y visual c++.pdf
 
Toturial aplicacion base de datos jsp
Toturial aplicacion base de datos jspToturial aplicacion base de datos jsp
Toturial aplicacion base de datos jsp
 
Ejercicio practico sql
Ejercicio practico sqlEjercicio practico sql
Ejercicio practico sql
 
Ejercicio practico sql
Ejercicio practico sqlEjercicio practico sql
Ejercicio practico sql
 
Sesion n°6
Sesion n°6Sesion n°6
Sesion n°6
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
12 Guía_Fundamentos de Base de Datos.docx
12 Guía_Fundamentos de Base de Datos.docx12 Guía_Fundamentos de Base de Datos.docx
12 Guía_Fundamentos de Base de Datos.docx
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 
Diseño de una base de datos
Diseño de una base de datosDiseño de una base de datos
Diseño de una base de datos
 

Más de UNACAR

Configurar programes notepad para Compilar Visual Basic
Configurar programes notepad para Compilar Visual BasicConfigurar programes notepad para Compilar Visual Basic
Configurar programes notepad para Compilar Visual BasicUNACAR
 
Consultas sql
Consultas sqlConsultas sql
Consultas sqlUNACAR
 
Capa negocio con clases en VB
Capa negocio con clases en VBCapa negocio con clases en VB
Capa negocio con clases en VBUNACAR
 
InstalarDriver_NET_paramysql
InstalarDriver_NET_paramysqlInstalarDriver_NET_paramysql
InstalarDriver_NET_paramysqlUNACAR
 
Instalacion_d_MySqlWamp_y_Heidi-Sql
Instalacion_d_MySqlWamp_y_Heidi-SqlInstalacion_d_MySqlWamp_y_Heidi-Sql
Instalacion_d_MySqlWamp_y_Heidi-SqlUNACAR
 
Simbolos_Uml
Simbolos_UmlSimbolos_Uml
Simbolos_UmlUNACAR
 
Portafolio de trabajo flores
Portafolio de trabajo floresPortafolio de trabajo flores
Portafolio de trabajo floresUNACAR
 

Más de UNACAR (7)

Configurar programes notepad para Compilar Visual Basic
Configurar programes notepad para Compilar Visual BasicConfigurar programes notepad para Compilar Visual Basic
Configurar programes notepad para Compilar Visual Basic
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Capa negocio con clases en VB
Capa negocio con clases en VBCapa negocio con clases en VB
Capa negocio con clases en VB
 
InstalarDriver_NET_paramysql
InstalarDriver_NET_paramysqlInstalarDriver_NET_paramysql
InstalarDriver_NET_paramysql
 
Instalacion_d_MySqlWamp_y_Heidi-Sql
Instalacion_d_MySqlWamp_y_Heidi-SqlInstalacion_d_MySqlWamp_y_Heidi-Sql
Instalacion_d_MySqlWamp_y_Heidi-Sql
 
Simbolos_Uml
Simbolos_UmlSimbolos_Uml
Simbolos_Uml
 
Portafolio de trabajo flores
Portafolio de trabajo floresPortafolio de trabajo flores
Portafolio de trabajo flores
 

Crear SP MySql

  • 1. Procedimientos almacenados en MySql JESÚS ALEJANDRO FLORES HERNÁNDEZ J F L O R E S PA M PA N O @ G M A I L . C O M
  • 2. 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.
  • 3. 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-heidisql Para crear una base de datos en MySql usando Heidi vea: https://www.youtube.com/watch?v=40YYmufKXus
  • 4. Base de datos Usaremos una base de datos llamada provpar que consta de las tablas: proveedores y partes que a continuación se muestran.
  • 5. Base de datos – tabla partes Estructura de la tabla partes
  • 6. Base de datos – tabla proveedores Estructura de la tabla proveedores
  • 7. 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.
  • 8. 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
  • 9. En la ventana de edición: 1. Ponga el nombre del SP. 2. Inserte este código de consulta. 3. Guarde el SP
  • 10. Ejecutar un SP 1. En una ventana de consulta. 2. Teclee el llamado a un SP: call traePartes; 3. Ejecute 4. Vea el resultado
  • 11. 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
  • 12. Agregar parámetro. Clic En el SP a utilizar 1. 2. 3. 4. Clic en parámetros Clic en agregar Poner nombre al parámetro Poner tipo de datos del parámetro 5. Clic en guardar
  • 13. 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).
  • 14. 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.
  • 15. Ejemplo de insert con parámetros para una tabla materia 1. Observe los parámetros y sus tipos 2. Algún procesamiento de los datos antes de insertarlos 3. La inserción de datos 4. Lo que esta precedido por # son comentarios
  • 16. 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).
  • 17. 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/