0 оценок0% нашли этот документ полезным (0 голосов)
39 просмотров2 страницы
MySQL es un sistema de gestión de bases de datos relacionales de código abierto que permite almacenar y organizar información en múltiples tablas. Los procedimientos almacenados son conjuntos de comandos SQL que pueden almacenarse en el servidor de MySQL para ser ejecutados de forma más eficiente que consultas individuales. Se crean mediante la sentencia CREATE PROCEDURE y se llaman desde aplicaciones cliente mediante la sentencia CALL.
MySQL es un sistema de gestión de bases de datos relacionales de código abierto que permite almacenar y organizar información en múltiples tablas. Los procedimientos almacenados son conjuntos de comandos SQL que pueden almacenarse en el servidor de MySQL para ser ejecutados de forma más eficiente que consultas individuales. Se crean mediante la sentencia CREATE PROCEDURE y se llaman desde aplicaciones cliente mediante la sentencia CALL.
MySQL es un sistema de gestión de bases de datos relacionales de código abierto que permite almacenar y organizar información en múltiples tablas. Los procedimientos almacenados son conjuntos de comandos SQL que pueden almacenarse en el servidor de MySQL para ser ejecutados de forma más eficiente que consultas individuales. Se crean mediante la sentencia CREATE PROCEDURE y se llaman desde aplicaciones cliente mediante la sentencia CALL.
MySQL es un sistema de administración de bases de datos (Database Management System, DBMS)
para bases de datos relacionales. Así, MySQL no es más que una aplicación que permite gestionar archivos llamados de bases de datos. Existen muchos tipos de bases de datos, desde un simple archivo hasta sistemas relacionales orientados a objetos. MySQL, como base de datos relacional, utiliza multiples tablas para almacenar y organizar la información. MySQL fue escrito en C y C++ y destaca por su gran adaptación a diferentes entornos de desarrollo, permitiendo su interactuación con los lenguajes de programación más utilizados como PHP, Perl y Java y su integración en distintos sistemas operativos. También es muy destacable, la condición de open source de MySQL, que hace que su utilización sea gratuita e incluso se pueda modificar con total libertad, pudiendo descargar su código fuente. Esto ha favorecido muy positivamente en su desarrollo y continuas actualizaciones, para hacer de MySQL una de las herramientas más utilizadas por los programadores orientados a Internet.
¿Que son los procedimientos almacenados en MySQL?
Un procedimiento almacenado es un conjunto de comandos SQL que pueden almacenarse en el
servidor. Una vez que se hace, los clientes no necesitan relanzar los comandos individuales pero pueden en su lugar referirse al procedimiento almacenado. 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 la seguridad es muy importante. Los bancos, por ejemplo, usan procedimientos almacenados para todas las operaciones comunes. Esto proporciona un entorno seguro y consistente, y los procedimientos pueden asegurar que cada operación se logue apropiadamente. En tal entorno, las aplicaciones y los usuarios no obtendrían ningún acceso directo a las 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. El intercambio que hay es que aumenta la 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. Considere esto si muchas máquinas cliente (como servidores Web) se sirven a sólo uno o pocos servidores de bases de datos. Los procedimientos almacenados le permiten tener bibliotecas o funciones en el servidor de base de datos. Esta característica es compartida por los lenguajes de programación modernos que permiten este diseño interno, por ejemplo, usando clases. Usando estas características del lenguaje de programación cliente es beneficioso para el programador incluso fuera del entorno de la base de datos. ¿CÓMO CREAR UN PROCEDIMIENTO ALMACENADO EN MYSQL? La sentencia para crear un procedimiento almacenado es de la siguiente forma: 1 CREATE PROCEDURE `nombre` ([parameter[,...]]) 2 BEGIN 3 //instrucciones 4 END Los parámetros indican la entrada y salida de datos que podríamos usar para el procedimiento y la salida de datos que devolvería el procedimiento almacenado. En el siguiente ejemplo creamos un procedimiento almacenado para contar el número de productos por código: 1 CREATE PROCEDURE `contar_productos` (IN codigo varchar(5), 2 OUT nproductos INT) 3 BEGIN 4 SELECT 5 COUNT(*) 6 INTO 7 nproductos 8 FROM 9 productos 10 WHERE 11 cprincipal=codigo; 12 END
Para saber si tu procedimiento sirve, deberías llamarlo de la siguiente manera:
1 CALL contar_productos('001', @cantidad);
2 select @cantidad;
¿CÓMO LLAMAR UN PROCEDIMIENTO ALMACENADO DESDE JAVA?
Para llamar a un procedimiento se usa el API JDBC como si se tratará de una instrucción SQL, para este caso usamos la clase CallableStatement, le seteamos tanto los parámetros de entrada, como los de salida que tenga nuestro procedimiento almacenado y obtenemos su resultado. 1 CallableStatement sp = conn.prepareCall(" CALL contar_productos(?,?)"); 2 //se cargan los parametros de entrada 3 sp.setString("codigo", codigo);//Tipo String 4 // parametros de salida 5 sp.registerOutParameter("nproductos", Types.VARCHAR);//Tipo String 6 // Se ejecuta el procedimiento almacenado 7 sp.execute(); 8 // devuelve el valor del parametro de salida del procedimiento 9 int resultado = sp.getString("nproductos");