Crear un procedimiento almacenado
En este tema se describe cómo se crea un procedimiento almacenado de Transact-SQL con SQL Server Management Studio y la instrucción CREATE PROCEDURE de Transact-SQL.
Antes de comenzar: Permisos
Para crear un procedimiento mediante: SQL Server Management Studio, Transact-SQL
Permisos
Requiere el permiso CREATE PROCEDURE en la base de datos y el permiso ALTER en el esquema en el que se va a crear el procedimiento.
Crear un procedimiento almacenado
Puede usar cualquiera de los siguientes medios:
Uso de SQL Server Management Studio
Para crear un procedimiento en el Explorador de objetos
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos y, a continuación, expándala.
Expanda Bases de datos, expanda la base de datos AdventureWorks2012 y, a continuación, expanda Programación.
Haga clic con el botón derecho en Procedimientos almacenadosy, después, haga clic en Nuevo procedimiento almacenado.
En el menú Consulta , haga clic en Especificar valores para parámetros de plantilla.
En el cuadro de diálogo Especificar valores para parámetros de plantilla , especifique los siguientes valores para los parámetros mostrados.
Parámetro Valor Autor Su nombre. Create Date Fecha Descripción Devuelve datos de empleado. Procedure_name HumanResources.uspGetEmployeesTest @Param1 @LastName @Datatype_For_Param1 nvarchar
(50)Default_Value_For_Param1 NULL @Param2 @FirstName @Datatype_For_Param2 nvarchar
(50)Default_Value_For_Param2 NULL Haga clic en OK.
En el Editor de consultas, reemplace la instrucción SELECT por la siguiente instrucción:
SELECT FirstName, LastName, Department FROM HumanResources.vEmployeeDepartmentHistory WHERE FirstName = @FirstName AND LastName = @LastName AND EndDate IS NULL;
Para probar la sintaxis, en el menú Consulta , haga clic en Analizar. Si se devuelve un mensaje de error, compare las instrucciones con la información anterior y corrija lo que sea necesario.
Para crear el procedimiento, en el menú Consulta, haga clic en Ejecutar. El procedimiento se crea como un objeto de la base de datos.
Para ver el procedimiento que aparece en el Explorador de objetos, haga clic con el botón derecho en Procedimientos almacenados y seleccione Actualizar.
Para ejecutar el procedimiento, en el Explorador de objetos, haga clic con el botón derecho en el nombre del procedimiento almacenado HumanResources.uspGetEmployeesTest y seleccione Ejecutar procedimiento almacenado.
En la ventana Ejecutar procedimiento, escriba Margheim como valor del parámetro @LastName y Diane como valor del parámetro @FirstName.
Advertencia
Valide todos los datos proporcionados por el usuario. No concatene ninguna entrada de usuario antes de validarla. No ejecute nunca un comando creado a partir de una entrada de usuario no validada.
Usar Transact-SQL
Para crear un procedimiento en el Editor de consultas
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En el menú Archivo , haga clic en Nueva consulta.
Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. En este ejemplo se crea el mismo procedimiento almacenado que antes con otro nombre diferente.
USE AdventureWorks2012; GO CREATE PROCEDURE HumanResources.uspGetEmployeesTest2 @LastName nvarchar(50), @FirstName nvarchar(50) AS SET NOCOUNT ON; SELECT FirstName, LastName, Department FROM HumanResources.vEmployeeDepartmentHistory WHERE FirstName = @FirstName AND LastName = @LastName AND EndDate IS NULL; GO
Para ejecutar el procedimiento, copie y pegue el ejemplo siguiente en una nueva ventana de consulta y haga clic en Ejecutar. Observe que se muestran diferentes métodos para especificar los valores de parámetro.
EXECUTE HumanResources.uspGetEmployeesTest2 N'Ackerman', N'Pilar'; -- Or EXEC HumanResources.uspGetEmployeesTest2 @LastName = N'Ackerman', @FirstName = N'Pilar'; GO -- Or EXECUTE HumanResources.uspGetEmployeesTest2 @FirstName = N'Pilar', @LastName = N'Ackerman'; GO