Un procedimiento almacenado o STORED PROCEDURE es un código SQL preparado que puede guardar, por lo que el código puede reutilizarse una y otra vez.
Entonces, si tiene una consulta SQL que escribe una y otra vez, guárdela como un procedimiento almacenado y luego llámela para ejecutarla.
También puede pasar parámetros a un procedimiento almacenado, de modo que el procedimiento almacenado pueda actuar en función de los valores de parámetro que se pasan.
Sintaxis de procedimientos almacenados
En el siguiente script puedes ver la sintaxis para crear un procedimiento almacenado o STORED PROCEDURE.
CREATE PROCEDURE nombre_procedimiento AS sql_statement GO;
Ejecutar un procedimiento almacenado
En el siguiente SQL puedes ver la sintaxis para ejecutar el procedimiento almacenado.
EXEC nombre_procedimiento;
Ejemplo de procedimiento almacenado
La siguiente declaración SQL crea un procedimiento almacenado llamado «Todos_Clientes» que selecciona todos los registros de la tabla «Clientes«:
CREATE PROCEDURE Todos_Clientes AS SELECT * FROM Clientes GO;
Ejecuta el procedimiento
A continuación se muestra la sintaxis para ejecutar un procedimiento almacenado
EXEC Todos_Clientes;
Procedimiento almacenado con un parámetro
La siguiente declaración SQL crea un procedimiento almacenado que selecciona a los clientes de una ciudad en particular de la tabla «Clientes»:
CREATE PROCEDURE Todos_Clientes @Ciudad nvarchar(30) AS SELECT * FROM Clientes WHERE Ciudad = @Ciudad GO;
Ejecute el procedimiento almacenado anterior de la siguiente manera:
EXEC Todos_Clientes Ciudad = 'Bogotá';
Procedimiento almacenado con múltiples parámetros
Configurar múltiples parámetros es muy fácil. Solo liste cada parámetro y el tipo de datos separados por una coma como se muestra a continuación. La siguiente declaración SQL crea un procedimiento almacenado que selecciona Clientes de una Ciudad en particular con un Código Postal en particular de la tabla «Clientes»:
CREATE PROCEDURE Todos_Clientes @Ciudad nvarchar(30), @CodigoPostal nvarchar(10) AS SELECT * FROM Clientes WHERE Ciudad = @Ciudad AND CodigoPostal = @CodigoPostal GO;
Ejemplo de ejecución del procedimiento
En el siguiente ejemplo puedes ver cómo se ejecuta un STORED PROCEDURE
EXEC Todos_Clientes Ciudad = 'Bogotá', Código_Postal = 45350;