Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do
do Azure
Instância Gerenciada SQL do Azure
do Azure Synapse Analytics
do Analytics Platform System (PDW)
Banco de Dados SQL no Microsoft Fabric
Este artigo descreve como criar um procedimento armazenado SQL Server usando SQL Server Management Studio e utilizando a instrução Transact-SQL CREATE PROCEDURE.
Permissions
Requer permissão CREATE PROCEDURE na base de dados e permissão ALTER no esquema onde o procedimento vai ser criado.
Criar um procedimento armazenado
Pode usar o SQL Server Management Studio (SSMS), ou Transact-SQL numa janela de consulta SSMS, para executar um procedimento armazenado. Instale a versão mais recente do SQL Server Management Studio (SSMS).
Observação
O procedimento armazenado de exemplo neste artigo utiliza a base de dados de exemplo AdventureWorksLT2022 (SQL Server) ou AdventureWorksLT (Azure SQL Database). Para instruções sobre como obter e utilizar as AdventureWorksLT bases de dados de exemplo, consulte as bases de dados de exemplo AdventureWorks.
Utilize SQL Server Management Studio
Para criar um procedimento armazenado no SSMS:
No Object Explorer, ligue-se a uma instância do SQL Server ou Azure SQL Database.
Para mais informações, consulte os seguintes quickstarts:
Expandir a instância e depois expandir as Bases de Dados.
Expande a base de dados que queres e depois expande a Programabilidade.
Clique com o botão direito em Procedimentos Armazenados e depois selecione Novo>Procedimento Armazenado. Abre-se uma nova janela de consulta com um modelo para o procedimento armazenado.
O modelo padrão de procedimento armazenado tem dois parâmetros. Se o seu procedimento armazenado tiver menos, mais ou nenhum parâmetro, adicione ou remova linhas de parâmetros no modelo conforme apropriado.
No menu Consulta , selecione Especificar valores para parâmetros de modelo.
Na caixa de diálogo Especificar Valores para Parâmetros do Modelo , forneça a seguinte informação para os campos Valor :
-
Autor: Substitua
Namepelo seu nome. - Criar Data: Introduza a data de hoje.
- Descrição: Descreva brevemente o que o procedimento faz.
-
Procedure_Name: Substituir
ProcedureNamepelo novo nome do procedimento armazenado. -
@Param1: Substitua
@p1pelo nome do seu primeiro parâmetro, como @ColumnName1. -
@Datatype_For_Param1: Conforme apropriado, substitua
intpelo tipo de dado do seu primeiro parâmetro, como nvarchar(50). -
Default_Value_For_Param1: Conforme apropriado, substitua
0pelo valor padrão do primeiro parâmetro, ou NULL. -
@Param2: Substitua
@p2pelo nome do seu segundo parâmetro, como @ColumnName2. -
@Datatype_For_Param2: Conforme apropriado, substitua
intpelo tipo de dado do seu segundo parâmetro, como nvarchar(50). -
Default_Value_For_Param2: Conforme apropriado, substitua
0pelo valor padrão do seu segundo parâmetro, ou NULL.
A captura de ecrã seguinte mostra a caixa de diálogo concluída para o procedimento armazenado de exemplo:
-
Autor: Substitua
Selecione OK.
No Editor de Consultas, substitua a instrução SELECT pela consulta do seu procedimento.
O código seguinte mostra a instrução CREATE PROCEDURE completada para o procedimento armazenado de exemplo:
-- ======================================================= -- 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 GOPara testar a sintaxe, no menu Consulta, selecione Analisar Sintaxe. Corrigir quaisquer erros.
Selecione Executar na barra de ferramentas. O procedimento é criado como um objeto na base de dados.
Para ver o novo procedimento listado no Explorador de Objetos, clique com o botão direito em Stored Procedures e selecione Atualizar.
Para executar o procedimento:
No Explorador de Objetos, clique com o botão direito no nome do procedimento armazenado e selecione Executar Procedimento Armazenado.
Na janela Executar Procedimento, introduza os valores de todos os parâmetros e depois selecione OK. Para instruções detalhadas, consulte Executar um procedimento armazenado.
Por exemplo, para executar o
SalesLT.uspGetCustomerCompanyprocedimento de amostra, introduza Cannon para o parâmetro @LastName e Chris para o parâmetro @FirstName, e depois selecione OK. O procedimento armazenado é executado e devolveFirstNameChris,LastNameCannon eCompanyNameArtigos Desportivos de Exterior.
Importante
Valide todas as entradas do utilizador. Não concatene a entrada do utilizador antes de a validar. Nunca execute um comando construído a partir de input de utilizador não validado.
Utilize o Transact-SQL
Para criar um procedimento no Editor de Consultas SSMS:
No SSMS, ligue-se a uma instância do SQL Server ou Azure SQL Database.
Selecione Nova Consulta na barra de ferramentas.
Introduza o código seguinte na janela de consulta, substituindo
<ProcedureName>, os nomes e tipos de dados de quaisquer parâmetros, e a instrução SELECT pelos seus próprios valores.CREATE PROCEDURE <ProcedureName> @<ParameterName1> <data type>, @<ParameterName2> <data type> AS SET NOCOUNT ON; SELECT <your SELECT statement>; GOPor exemplo, a seguinte instrução cria o mesmo procedimento armazenado na
AdventureWorksLTbase de dados do exemplo anterior, com um nome de procedimento ligeiramente 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; GOSelecione Executar na barra de ferramentas para executar a consulta. O procedimento armazenado é criado.
Para executar o procedimento armazenado, introduza uma instrução EXECUTE numa nova janela de consulta, fornecendo valores para quaisquer parâmetros, e depois selecione Executar. Para instruções detalhadas, consulte Executar um procedimento armazenado.