Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Base de datos SQL de Microsoft Fabric
En este artículo se describe cómo crear un procedimiento almacenado de SQL Server mediante SQL Server Management Studio y mediante la instrucción CREATE PROCEDURE de Transact-SQL.
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.
Puede utilizar la interfaz de usuario de SQL Server Management Studio (SSMS) o Transact-SQL en una ventana Consulta de SSMS para ejecutar un procedimiento almacenado. Utilice siempre la última versión de SSMS.
Nota
En el procedimiento almacenado de ejemplo de este artículo se usa la base de datos de ejemplo AdventureWorksLT2022
(SQL Server) o AdventureWorksLT
(Azure SQL Database). Para obtener información sobre cómo obtener y usar las bases de datos de ejemplo de AdventureWorksLT
, consulte Bases de datos de ejemplo de AdventureWorks.
Para crear un procedimiento almacenado en SSMS:
En el Explorador de objetos, conéctese a una instancia de SQL Server o Azure SQL Database.
Para obtener más información, consulte los siguientes inicios rápidos:
Expanda la instancia y, a continuación, expanda Bases de datos.
Expanda la base de datos que desee y, a continuación, expanda Programabilidad.
Haga clic con el botón derecho en Procedimientos almacenados y, a continuación, seleccione Nuevo>Procedimiento almacenado. Se abrirá una nueva ventana Consulta con una plantilla para el procedimiento almacenado.
La plantilla de procedimiento almacenado predeterminada tiene dos parámetros. Si el procedimiento almacenado tiene menos parámetros, más o ninguno, agregue o quite líneas de parámetro en la plantilla según corresponda.
En el menú Consulta , seleccione Especificar valores para parámetros de plantilla.
En el cuadro de diálogo Especificar valores para los parámetros de plantilla, proporcione la siguiente información de los campos Valor:
Name
por su nombre.ProcedureName
por el nuevo nombre del procedimiento almacenado.@p1
por el nombre del primer parámetro, como @ColumnName1.int
por el tipo de datos del primer parámetro, como nvarchar(50).0
por el valor predeterminado del primer parámetro o NULL.@p2
por el nombre del segundo parámetro, como @ColumnName2.int
por el tipo de datos del segundo parámetro, como nvarchar(50).0
por el valor predeterminado del segundo parámetro o NULL.En la captura de pantalla siguiente se muestra el cuadro de diálogo completado para el procedimiento almacenado de ejemplo:
Seleccione Aceptar.
En el Editor de Power Query, reemplace la instrucción SELECT por la consulta del procedimiento.
El código siguiente muestra la instrucción CREATE PROCEDURE completada para el procedimiento almacenado de ejemplo:
-- =======================================================
-- Create Stored Procedure Template for Azure SQL Database
-- =======================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE SalesLT.uspGetCustomerCompany
(
-- Add the parameters for the stored procedure here
@LastName nvarchar(50) = NULL,
@FirstName nvarchar(50) = NULL
)
AS
/*
-- =============================================
-- Author: My Name
-- Create Date: 01/23/2024
-- Description: Returns the customer's company name.
-- =============================================
*/
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON
-- Insert statements for procedure here
SELECT FirstName, LastName, CompanyName
FROM SalesLT.Customer
WHERE FirstName = @FirstName AND LastName = @LastName;
END
GO
Para probar la sintaxis, seleccione Analizar en el menú Consulta. Corrija los errores.
Seleccione Ejecutar en la barra de herramientas. El procedimiento se crea como un objeto de la base de datos.
Para ver el nuevo 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 y seleccione Ejecutar procedimiento almacenado.
En la ventana Ejecutar procedimiento, escriba los valores de todos los parámetros y, a continuación, seleccione Aceptar. Para obtener instrucciones detalladas, consulte Ejecución de un procedimiento almacenado.
Por ejemplo, para ejecutar el procedimiento de ejemplo SalesLT.uspGetCustomerCompany
, escriba Cannon en el parámetro @LastName y Chris en el parámetro @FirstName y, a continuación, seleccione Aceptar. El procedimiento almacenado se ejecuta y devuelve FirstName
Chris, LastName
Cannon y CompanyName
Outdoor Sporting Goods.
Importante
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.
Para crear un procedimiento en el Editor de Power Query de SSMS:
En SSMS, conéctese a una instancia de SQL Server o Azure SQL Database.
Seleccione Nueva consulta en la barra de herramientas.
Escriba el código siguiente en la ventana Consulta, reemplazando <ProcedureName>
, los nombres y los tipos de datos de cualquier parámetro y la instrucción SELECT por sus propios valores.
CREATE PROCEDURE <ProcedureName>
@<ParameterName1> <data type>,
@<ParameterName2> <data type>
AS
SET NOCOUNT ON;
SELECT <your SELECT statement>;
GO
Por ejemplo, la instrucción siguiente crea el mismo procedimiento almacenado en la base de datos AdventureWorksLT
que el ejemplo anterior, con un nombre de procedimiento ligeramente diferente.
CREATE PROCEDURE SalesLT.uspGetCustomerCompany1
@LastName nvarchar(50),
@FirstName nvarchar(50)
AS
SET NOCOUNT ON;
SELECT FirstName, LastName, CompanyName
FROM SalesLT.Customer
WHERE FirstName = @FirstName AND LastName = @LastName;
GO
Seleccione Ejecutar en la barra de herramientas para ejecutar la consulta. Se creará el procedimiento almacenado.
Para ejecutar el procedimiento almacenado, escriba una instrucción EXECUTE en una nueva ventana Consulta, proporcione valores para los parámetros y, a continuación, seleccione Ejecutar. Para obtener instrucciones detalladas, consulte Ejecución de un procedimiento almacenado.
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyCursos
Módulo
Crear procedimientos almacenados y funciones definidas por el usuario - Training
Este contenido forma parte de Creación de procedimientos almacenados y funciones definidas por el usuario.
Documentación
CREATE PROCEDURE (Transact-SQL) - SQL Server
CREATE PROCEDURE (Transact-SQL)
Modificar un procedimiento almacenado - SQL Server
Obtenga información sobre cómo modificar un procedimiento almacenado en SQL Server mediante SQL Server Management Studio o Transact-SQL.
Ejecución de un procedimiento almacenado - SQL Server
Obtenga información sobre cómo ejecutar un procedimiento almacenado mediante SQL Server Management Studio o Transact-SQL.