Mysql procedimientos

Solo disponible en BuenasTareas
  • Páginas : 9 (2064 palabras )
  • Descarga(s) : 38
  • Publicado : 22 de octubre de 2009
Leer documento completo
Vista previa del texto
RESUMEN MANUAL DE REFERENCIA MYSQL 5. PROCEDIMIENTOS ALMACENADOS] CAPITULO 19
PROCEDIMIENTOS ALMACENADOS
Los procedimientos almacenados son nuevas funcionalidades de la versión de MySQL 5.0. Un prrocediimiientto
allmacenado es un conjjuntto de comandos SQL que pueden allmacenarrse en ell serrviidorr. Una vez que se hace, los
clientes no necesitan mandar los comandos individuales sino que ensu lugar se refieren al procedimiento
almacenado, lo que mejora el rendimiento.
Algunas situaciones en que los procedimientos almacenados pueden ser particularmente útiles:
 Cuando múltiples aplicaciones cliente se escriben en distintos lenguajes o funcionan en distintas
plataformas, pero necesitan realizar la misma operación en la base de datos.
 Cuando se necesita una rutina que devuelvamas de un valor (para el caso contrario –un valor- se
utilizan funciones).
 Cuando la seguridad es muy importante. Se crean procedimientos para realizar operaciones comunes.
Esto proporciona un entorno seguro y consistente, y los procedimientos pueden asegurar que cada
operación se loguea apropiadamente. En este entorno, las aplicaciones y los usuarios no obtendrían
ningún acceso directo alas tablas de la base de datos, sólo pueden ejecutar algunos procedimientos
almacenados.
Los procedimientos almacenados pueden mejorar el rendimiento ya que se necesita enviar menos información
entre el servidor y el cliente. Esto trae como consecuencia el aumento de carga del servidor de la base de datos
ya que la mayoría del trabajo se realiza en la parte del servidor y no en el cliente.
Losprocedimientos almacenados le permiten tener bibliotecas o funciones en el servidor de base de datos.
MySQL sigue la sintaxis SQL:2003 para procedimientos almacenados, que también usa IBM DB2.
1.. PROCEDIMIENTOS ALMACENADOS Y LAS TABLAS DE PERMISOS
Los procedimientos almacenados requieren la tabla PROC en la base de datos MYSQL. Esta tabla se crea
durante la instalación de MySQL 5.0.Verifique que la tabla PROC existe:
Mysql>use mysql;
Mysql>show tables;
Tambien desde el phpMyAdmin se puede ver esta información. Adicionalmente para ver los procedimientos
creados se hace un sellectt * ffrrom prrocs;
Desde MySQL 5.0.3, el sistema de permisos se ha modificado para tener en cuenta los procedimientos
almacenados:
 El permiso CREATE ROUTINE se necesita para crear procedimientosalmacenados.
 El permiso ALTER ROUTINE se necesita para alterar o borrar procedimientos almacenados. Este permiso
se da automáticamente al creador de una rutina.
 El permiso EXECUTE se requiere para ejecutar procedimientos almacenados. Sin embargo, este permiso se
da automáticamente al creador de la rutina.
RESUMEN MANUAL DE REFERENCIA MYSQL 5. PROCEDIMIENTOS ALMACENADOS] CAPITULO 19
2..SINTAXIS DE PROCEDIMIENTOS ALMACENADOS
Los procedimientos almacenados se crean con comandos CREATE PROCEDURE. Un procedimiento se invoca
usando el comando CALL, y sóllo puede pasarr vallorres usando varriiablles de salliida (OUT).. Las rutinas
almacenadas pueden llamar otras rutinas almacenadas.
Desde MySQL 5.0.1, los procedimientos almacenados se asocian con una base de datos. Esto tiene variasimplicaciones:
 Cuando se invoca la rutina, se realiza implícitamente USE db_name (y se deshace cuando acaba la rutina).
Los comandos USE dentro de procedimientos almacenados no se permiten.
 Puede calificar los nombres de rutina con el nombre de la base de datos. Esto puede usarse para referirse a
una rutina que no esté en la base de datos actual. Por ejemplo, para invocar procedimientosalmacenados P
esto se asocia con la base de datos test , puede decir CALL test.p().
 Cuando se borra una base de datos, todos los procedimientos almacenados asociados con ella también se
borran.
(En MySQL 5.0.0, los procedimientos almacenados son globales y no asociados con una base de datos. Heredan
la base de datos por defecto del llamador. Si se ejecuta USE db_name desde la rutina, la base...
tracking img