PROCEDIMIENTOS ALMACENADOS, QUÉ SON?

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 procedimientos almacenados se pueden utilizar para:
- Devolver un conjunto de resultados, se puede incluir parámetros de entrada para especificar el filtro del conjunto resultado.
- Ejecutar instrucciones de programación.
- Devolver valores numéricos que permiten realizar acciones cuando un grupo de instrucciones se realizó con éxito o no.
Ventajas de usar procedimientos almacenados
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 servidor web, aumentando con ello la rapidez de procesamiento de las peticiones del usuario.
A continuación, describo algunas de las ventajas que brinda el uso de procedimientos.
- Tráfico de red reducido entre el cliente y el servidor
- Mayor seguridad
- Reutilización del código
- Mantenimiento más sencillo
- Rendimiento mejorado
Tipos de procedimientos almacenados
- Definidos por el usuario
- Temporales
- de Sistema
Nota
Los procedimientos almacenados extendidos se quitarán en una versión futura de SQL Server. No utilice esta característica en nuevos trabajos de desarrollo y modifique lo antes posible las aplicaciones que actualmente la utilizan. Cree en su lugar procedimientos CLR. Este método constituye una alternativa más consolidada y segura para escribir procedimientos extendidos.
Sintaxis
Para crear un procedimiento almacenado es recomendable siempre utilizar el prefijo sp, de esta manera estamos indicando que vamos a crear un (stored procedure). Ejemplo:
create procedure sp_nombre_del_procedimiento
--parametros--
as
--condicion-a-cumplir--
Para la realización de operaciones CRUD, necesitaremos el uso de 4 comandos de SQL Server. Estos comandos son INSERT, SELECT, UPDATE, DELETE. El uso de cada uno de ellos, dependerá de la tarea que queramos realizar. Veamos en detalle cada uno de ellos.
SELECT
con este comando podremos seleccionar registros de una tabla determinada, veamos un ejemplo:
create procedure spmostrar_clientes
as
select * from clientes
con esta condición estamos seleccionando todos los registros correspondiente a la tabla clientes.
INSERT
con este comando podremos insertar registros en una tabla determinada, veamos un ejemplo:
create procedure spinsertar_clientes
@nombres varchar(40),
@apellidos varchar(80),
@direccion varchar(256),
@telefono varchar(50)
as
insert into clientes values (@nombres, @apellidos, @direccion, @telefono)
al momento de realizar una inserción no es necesario indicar la llave primaria (idclientes), ya que sería redundante hacerlo.
UPDATE
con este comando podremos actualizar registros de una tabla determinada, veamos un ejemplo:
create procedure spactualizar_clientes
@idclientes int,
@nombres varchar(40),
@apellidos varchar(80),
@direccion varchar(256),
@telefono varchar(50)
as
update clientes set nombres=@nombres, apellidos=@apellidos, direccion=@direccion, telefono=@telefono
where idclientes=@idclientes
de esta manera estamos indicando a nuestro procedimiento que va a realizar una actualización de un registro determinado, teniendo en cuenta el @idclientes que va a recibir.
DELETE
con este comando podremos eliminar registros de una tabla determinada, veamos un ejemplo:
create procedure speliminar_clientes
@idclientes int
as
delete from clientes where idclientes=@idclientes
al momento de dar de baja a un registro, solamente precisamos de su llave primaria @idclientes, ya que con eso es suficiente para eliminar el registro deseado.
Para poder ejecutar cualquier procedimiento almacenado, se debe realizar de la siguiente manera;
exec sp-nombre-del-procedimiento
veamos un ejemplo práctico
exec spinsertar_clientes ('Jhon','Doe','Dirección','+595 97x xxxxxx')
a travéz de esto se puede realizar la ejecución de nuestro procedimiento insertar clientes.
Puedes descargar el script desde mega o mediafire. Recuerda dejar tus comentarios y compartir con los demás. Gracias por el apoyo! 😊
Comentarios
Me encantaría saber tu opinión sobre el contenido.