Procedimientos Almacenados [SQL Server]
Los procedimientos almacenados nos ayudan a generar transacciones u operaciones con mayor facilidad y rapidez. Estos procesos que son cargados en memoria, pueden ser ejecutados simultáneamente por diferentes llamadas, el mismo puede actuar como un programa ya que se puede programar la lógica de base de datos dentro de los mismos.
Ejemplos
1. Procedimiento Almacenado sin parámetros
En Microsofot SQL Server Management Studio abrimos una "Nueva Consulta" o "New Query".
En este ejemplo vamos a crear un procedimiento que sume dos números y los inserte en una tabla de resultados.
--En este procedimiento no pasaremos parametros.
CREATE PROCEDURE SUMA_NUMEROS
AS
--Declaramos las variables a utilizar.
DECLARE @PRIMER_NUMERO INT,
@SEGUNDO_NUMERO INT,
@RESULTADO INT
--Set de los valores estaticos a las variables declaradas
SET @PRIMER_NUMERO = 10;
SET @SEGUNDO_NUMERO = 90;
--Pasamos el valor al resultado
SET @RESULTADO = @PRIMER_NUMERO + @SEGUNDO_NUMERO
--Insertamos en la tabla de resultados
INSERT INTO RESULTADOS VALUES (@RESULTADO);
Ejecutamos el procedimiento:
EXEC SUMA_NUMEROS;
Consultamos en la tabla de Resultados para ver lo introducido y vemos el siguiente resultado:
SELECT *
FROM RESULTADOS
Salida:
90
90
2. Procedimiento Almacenado con parámetros
Siguiendo el ejemplo no. 1, creamos la misma estructura pero en esta ocasión con parámetros de entrada, los mismos serán el primer y segundo número:
CREATE PROCEDURE SUMA_NUMEROS (@PRIMER_NUMERO INT, @SEGUNDO_NUMERO INT)
AS
--Declaramos la variable a utilizar.
DECLARE @RESULTADO INT;
--Pasamos el valor al resultado
SET @RESULTADO = @PRIMER_NUMERO + @SEGUNDO_NUMERO
--Insertamos en la tabla de resultados
INSERT INTO RESULTADOS VALUES (@RESULTADO);
Ejecutamos el procedimiento asignando los valores a los parametros definidos para le entrada, deben ser del mismo tipo de dato con los que fueron creados y es obligatorio que sean introducidos, sino el procedimiento no cargara:
Forma para ejecutar No. 1:
EXEC SUMA_NUMEROS 10, 80;
Forma para ejecutar No. 2:
EXEC SUMA_NUMEROS
@PRIMER_NUMERO = 10,
@SEGUNDO_NUMERO = 80;
Consultamos en la tabla de Resultados para ver lo introducido y vemos el siguiente resultado:
SELECT *
You made some good points there. I did a search on the topic and found most people will agree with your blog.
ResponderEliminar