Procedimientos Almacenados con Parametros SQL Server


Al igual que en cualquier lenguaje de programación, en base de datos existen funciones, las cuales pueden retornar o no un tipo de dato.


En este Post trabajaremos con los procedimientos almacenados con parametros, ya que son un poco mas complicados de comprender al principio, pero una vez dominados veras que son de gran ayuda para esas consultas complicadas en tus proyectos


Nota: Para el ejemplo se usará la base de datos NorthWind, la cual puedes descargar gratuitamente en el siguiente enlace: Descargar NortWhind

Ahora, Para procedimientos Almacenados recibiendo parámetros seria algo así:


Pensemos que queremos saber los datos del empleado que le haya realizado alguna venta a un cliente X, Entonces, al revisar el diagrama de clases podemos ver que la consulta empezaría en la tabla de Empleados, ya que es la tabla de la cual queremos obtener los datos.

Como los resultados dependerán del Cliente, entonces tenemos que llegar por así decirlo a la tabla clientes, o a la tabla Ordenes, ya que esta tiene los ID de Empleado y Cliente.

Modelo Relacional Empleados, Ordenes y Clientes.

 Así que la consulta quedaría seria algo como: Seleccione todos los datos de la tabla empleados, donde el ID del empleado se encuentre en, ahora ¿En que? 
Consulta Parte 1








En una lista por así decirlo de ID, pero, ¿De donde proviene esta lista?

De una subconsulta, la cual usaremos para obtener el ID del empleado que haya hecho ventas a un cliente en específico, así que la subconsulta quedaría algo así:

Seleccione el ID del empleado donde el ID del cliente sea igual a : y acá es donde colocamos el parámetro que recibimos del usuario.
SubConsulta

Nota: El id ALFKI usado es un ejemplo, luego este sera reemplazado por un valor ingresado por el cliente.

Ahora, la consulta total seria asi:
Consulta Completa
Y los resultados serian estos:

Ahora, ¿Como hacemos para que esta consulta se convierta en un procedimiento almacenado que funcione recibiendo el ID del cliente?

La respuesta es sencilla pero se compone de dos partes.
1.Lo primero que tenemos que hacer es declarar que recibiremos un parametro y el tipo de parametro, nota (El parametro recibido tiene que ser del mismo tipo de dato que el parametro con el que se compara o se insertara, ejemplo, si la consulta es comparar el parametro recibido y el ID del cliente, el parametro recibido debe ser nchar).
2.Invocar el parametro en la consulta.

1.Declarando el Parametro.
Para declarar un elemento como parametro solo basta con signo arroba (@) seguido del nombre del parametro y por ultimo el tipo de parametro.
Declarando parametro

2.Invocando el parametro:




Ya una vez terminado esto, procedemos a crear el procedimiento almacenado y hacer las pruebas.
Para estas pruebas, dejare un video en Youtube donde realizo las pruebas de funcionamiento.




Comentarios

Entradas populares de este blog

Practica Lista de Pacientes en Python

Tablas de Multiplicar en PHP

Ejercicios en C parte 1