PROCEDIMIENTOS ALMACENADOS, QUÉ SON?

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 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! 😊


Ver video tutorial


Comparte este artículo con tus amigos:

Post Relacionados


Comentarios

Me encantaría saber tu opinión sobre el contenido.