viernes, 2 de septiembre de 2016

Como ejecutar un procedimiento almacenado (Store procedure) en SQL Server

Los procedimientos almacenados son componentes de base de datos que nos permiten ejecutar procesos de inserción, selección, actualización, eliminación o la combinación de todas estas operaciones para el procesamiento de datos de una o mas tablas a la vez.

Los procedimientos almacenados son ejecutados a través de dos componentes software:
- Las aplicaciones desarrolladas en un lenguaje de programación.
- Los paquetes DTSX de Procesos Batch.

Otro escenario donde se puede hacer uso de los procedimientos almacenados es en las pruebas unitarias de componentes software donde debemos asegurarnos que el procedimiento almacenado produzca el resultado esperado ya sea una selección de datos o un mensaje, lo cual es importante para que al momento de integrar el procedimiento almacenado al sistema no existan fallos.    
Para ejecutar un procedimiento almacenado (Store Procedure en ingles) en SQL Server basta con solo escribir el siguiente código:

EXEC <procedimientoalmacenado>


Ejemplo:

EXEC insertarDatosEmpleado

-------------------------------------------------------------------------------

Si el procedimiento almacenado tiene parámetros:

EXEC <procedimientoalmacenado> numero, 'texto'


Ejemplo:

EXEC actualizarDatosEmpleado 2016, 'Gerente'

-------------------------------------------------------------------------------

Si el procedimiento almacenado recibe variables como parámetros:

DECLARE <variable1> <tipoDato> (longitud), <variable2> <tipoDato2> (longitud)

SELECT TOP 1 <variable1> = valor1, <variable2> = valor2 FROM <Tabla>

SELECT <variable1>, <variable2>

EXEC <procedimientoalmacenado> <variable1>, <variable2>


Ejemplo:

DECLARE nombre varchar (20), apellido varchar (20)

SELECT TOP 1 nombre = nombreEmpleado, apellido = apellidoEmpleado FROM Empleado

SELECT nombre, apellido

EXEC insertarAscensos nombre, apellido

-------------------------------------------------------------------------------

Si el procedimiento devuelve un mensaje o un resultado:

DECLARE <variable> <tipoDato>(longitud)

EXEC <procedimientoalmacenado> <variable> output

SELECT <variable>


Ejemplo:

DECLARE mensaje varchar (30)

EXEC procesarSueldoEmpleado mensaje output

SELECT mensaje


No hay comentarios:

Publicar un comentario