domingo, 10 de mayo de 2015

PROCEDIMIENTOS ALMACENADOS.


Un procedimiento almacenado (stored procedure en inglés) es un programa (o procedimiento) almacenado físicamente en una base de datos. Su implementación varía de un gestor de bases de datos a otro. La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y sólo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.
Los usos 'típicos' de los procedimientos almacenados se aplican en la validación de datos, integrados dentro de la estructura del banco de datos. Los procedimientos almacenados usados con tal propósito se llaman comúnmente disparadores, o triggers. Otro uso común es la 'encapsulación' de un API para un proceso complejo o grande que podría requerir la 'ejecución' de varias consultas SQL, tales como la manipulación de un conjunto de datos enorme para producir un resultado resumido. También pueden ser usados para el control de gestión de operaciones, y ejecutar procedimientos almacenados dentro de una transacción de tal manera que las transacciones sean efectivamente transparentes para ellos.
El siguiente es un ejemplo de procedimiento almacenado en MySQL:

DELIMITER |
CREATE PROCEDURE autos (IN velocidad INT, IN marca VARCHAR (50))
BEGIN
IF velocidad < 120 THEN
INSERT INTO familiares VALUES (velocidad, marca);
ELSE
INSERT INTO deportivos VALUES (velocidad, marca);
END IF;
END;

|

El procedimiento se manda llamar de la siguiente manera:


CALL NOMBRE DEL PROCEDIMIENTO (LOS VALORES A USAR);

No hay comentarios:

Publicar un comentario