Publicado el 14 de Enero del 2019
2.255 visualizaciones desde el 14 de Enero del 2019
674,6 KB
74 paginas
Creado hace 18a (13/09/2006)
Lenguaje Sql con MySQL avanzado
Parte II. Programas almacenados
PARTE II.
PROGRAMAS ALMACENADOS
Tema 2. Programas almacenados en MySQL
2.1. Introducción...................................................................................................3
2.2. Ventajas de su utilización..............................................................................3
2.3. Edición de programas....................................................................................4
2.4. Fundamentos básicos del lenguaje ................................................................8
2.4.1. Variables, tipos de datos, comentarios y literales.................................8
2.4.2. Variables de usuario ...........................................................................12
2.4.3. Parámetros ..........................................................................................13
2.4.4. Principales operadores........................................................................15
2.4.5. Expresiones.........................................................................................16
2.4.6. Funciones incorporadas......................................................................17
2.4.7. Bloques de instrucciones ....................................................................20
2.4.8. El comando IF ....................................................................................22
2.4.9. El comando CASE..............................................................................24
2.4.10. El comando LOOP, LEAVE e ITERATE........................................25
2.4.11. El comando REPEAT … UNTIL.....................................................26
2.4.12. El comando WHILE .........................................................................27
2.4.13. Bucles anidados................................................................................28
2.5. Procedimientos ............................................................................................28
2.5.1. Creación de Procedimientos. Diccionario de datos............................28
2.5.2. Modificación de Procedimientos........................................................31
2.5.3. Borrado de Procedimientos ................................................................32
2.5.4. Utilización de instrucciones DDL y DML
2.5.5. Utilización de instrucciones de consulta
en procedimientos almacenados ........................................................32
2.5.6 Almacenar en variables el valor de una fila de una tabla ....................33
2.5.7 Sentencias preparadas. SQL dinámico ................................................35
2.6. Cursores.......................................................................................................38
2.6.1. Sentencias utilizadas con cursores. Ejemplos ....................................38
2.6.2. Cursores anidados...............................................................................43
2.7. Manejo de errores........................................................................................44
2.7.1
Introducción a la gestión de errores..................................................44
2.7.2 Tipos de manejador ..........................................................................48
2.7.3 La condición del manejador .............................................................49
2.7.4 Orden de actuación del manejador ...................................................52
2.7.5 Ámbito de actuación del manejador .................................................53
2.7.6 Ejemplo de tratamiento de errores....................................................54
2.8 Funciones....................................................................................................55
2.8.1 Creación de funciones. Diccionario de datos ...................................55
2.8.2 Ejemplos de utilización de Funciones ..............................................56
2.8.3 Modificación de funciones ...............................................................60
2.9 Triggers.......................................................................................................60
2.9.1 Creación de triggers. Diccionario de datos.......................................60
en procedimientos almacenados ........................................................32
Página 1
Lenguaje Sql con MySQL avanzado
Parte II. Programas almacenados
2.9.2 Borrado de triggers...........................................................................62
2.9.3 Utilización de triggers ......................................................................63
Anexo. MySQL desde otras aplicaciones
1. Introducción: Ventajas y desventajas ...................................................................66
2. Ejecución de procedimientos almacenados. Tratamiento de errores....................67
2.1 En PHP ................................................................................................67
2.2 En Visual Basic Express 2005.............................................................69
3. Ejecución de funciones.........................................................................................70
3.1 En PHP ................................................................................................70
3.2 En Visual Basic Express 2005.............................................................71
4. Ejecución de sentencias DDL...............................................................................71
4.1 En PHP ................................................................................................71
4.2 En Visual Basic Express 2005.............................................................72
5. Ejecución de sentencias preparadas......................................................................72
4.1 En PHP ................................................................................................72
4.2 En Visual Basic Express 2005.............................................................74
Página 2
Lenguaje Sql con MySQL avanzado
Parte II. Programas almacenados
TEMA 2
Programas almacenados en MySQL
aparición de
los procedimientos
Alberto Carrera Martín
2.1 Introducción
La
triggers
(desencadenadores) en MySQL 5 ha supuesto una enorme revolución en este gestor de
bases de datos que ya disfrutaba de una gran popularidad. Se ha producido el salto para
que MySQL pueda ser utilizado como SGBD empresarial. A ello hay que añadir que la
sintaxis de los programas es sencilla lo que facilita su escritura.
Un programa almacenado es un conjunto de instrucciones almacenadas dentro del
servidor de bases de datos y que se ejecutan en él. Este conjunto se identifica por un
nombre.
Tipos de programas almacenados:
funciones y
almacenados,
- Procedimientos almacenados: El más común de los programas almacenados.
Resuelven un determinado problema cuando son llamados y pueden aceptar
varios parámetros de entrada y devolver varios de salida.
- Funciones almacenadas: Similares a los procedimientos salvo que sólo
devuelven un valor como parámetro de salida. La ventaja que presentan las
funciones es que pueden ser utilizadas dentro de instrucciones SQL y por tanto
aumentan considerablemente las capacidades de este lenguaje.
- Triggers o desencadenadores o disparadores: Son programas que se activan
(“disparan”) ante un determinado suceso ocurrido dentro de la base de datos.
Por el momento, MySQL a diferencia de otros SGBD comerciales no ofrece la
posibilidad de utilizar ni paquetes ni clases.
Los programas almacenados en MySQL cumplen en gran medida el estándar ANSI de
especificación de ANSI SQL:2003 SQL/PSM (Persistent Stored Module).
2.2 Ventajas de su utilización
Ventajas de la utilización programas almacenados en comparación con los realizados en
un determinado lenguaje y que no residen en el servidor:
- Mayor seguridad y robustez en la base de datos. Al permitir que los usuarios
puedan ejecutar diferentes programas (los que estén autorizados), se está
limitando e impidiendo el acceso directo a las tablas donde están almacenados
los datos evitando la manipulación directa de éstas por parte de los usuarios y
por tanto eliminando la posibilidad de pérdida accidental de los datos. Los
programas serán los que accederán a las tablas.
Página 3
Lenguaje Sql con MySQL avanzado
Parte II. Programas almacenados
- Mejor mantenimiento de las aplicaciones que acceden a los programas
almacenados y por tanto disminución de la posibilidad de aparición de errores.
En lugar de que cada aplicación cliente disponga de sus propios programas para
realizar operaciones de inserción de consulta o actualización, los programas
almacenados permiten centralizar los métodos de acceso y actualización
anteriores presentando una interfaz común para todos los programas.
- Mayor portabilidad de las aplicaciones (relacionada con el punto anterior) puesto
que la lógica de la aplicación ya queda implementada en los programas
almacenados permitiendo al programador centrarse sólo en su interfaz.
- Debido a la fuerte integración con el lenguaje SQL, no se necesita de ningún
tipo de conector o driver como ODBC (Open DataBase Connectivity) o JDBC
(Java DataBase Connectivity) para poder construir y ejecutar sentencias SQL.
Bastará agrupar estas últimas bajo un programa almacenado que se llamará en el
momento en el que se necesite.
- Reducción del tráfico de red. El cliente llama a un procedimiento del Servidor
enviándole unos datos. Éste los recibe y tras procesarlos devuelve unos
resultados. Por la red no viajan nada m
Comentarios de: Parte II - Programas almacenados - Lenguaje Sql con MySQL avanzado (0)
No hay comentarios