Un procedimiento almacenado (stored procedure en inglés) es un programa (oprocedimiento) el cual es 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
almacenadoes 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.
Implementación
Estos
procedimientos, se usan a menudo, pero no siempre, para realizar consultas SQL sobre los objetos de la base de datos de una manera abstracta, desde
el punto de vista del cliente de la aplicación. Un procedimiento almacenado permite agrupar en forma exclusiva
parte de algo específico que se desee realizar o, mejor dicho, el SQL apropiado
para dicha acción.
Usos
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 almacenadosusados
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 'dataset'
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.
Ventajas
La
ventaja de un procedimiento
almacenado, en respuesta a una petición de usuario, está directamente bajo
el control del motor del gestor de bases de datos, que corre generalmente en un
servidor distinto del gestor de bases de datos aumentando con ello la rapidez
de procesamiento de las peticiones del gestor de bases de datos. El servidor de
la base de datos tiene acceso directo a los datos necesarios para manipular y
sólo necesita enviar el resultado final al usuario. Los procedimientos
almacenados pueden permitir que la lógica del negocio se encuentre como un API
en la base de datos, que pueden simplificar la gestión de datos y reducir la
necesidad de codificar la lógica en el resto de los programas cliente. Esto
puede reducir la probabilidad de que los datos se corrompan por el uso de
programas clientes defectuosos o erróneos. De este modo, el motor de base de
datos puede asegurar la integridad de los datos y su consistencia con la ayuda
de procedimientos almacenados. Algunos afirman que las bases de datos deben ser
utilizadas para el almacenamiento de datos solamente, y que la lógica de
negocio sólo debería aplicarse en la capa de negocio de código, a través de
aplicaciones cliente que deban acceder a los datos. Sin embargo, el uso de
procedimientos almacenados no se opone a la utilización de una capa de negocio.
Crearemos una Base de Datos con
procedimientos almacenados :
Para ingresar datos y eliminar será el siguiente:
Ahora estos lo utilizaremos en
Asp.Net
Creamos un formulario para que tenga los datos y sean guardados en DBSCOTT
:
Configuramos en el botón enviar lo siguiente:
Hacemos la conexión en la primera parte luego configuramos en el
Button1_Click luego sucesivamente como están los pasos el Try es considerado
con un If.
El resultado lo veremos en SQL
veamos:
Bueno eso es todo.
No hay comentarios:
Publicar un comentario