Anuncios

Confio

jueves, 17 de marzo de 2011

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



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 *
FROM RESULTADOS


Salida
90



Publicado por: Willy Taveras





People who read this post also read :