Criar um procedimento armazenado
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)
Este artigo descreve como criar um procedimento armazenado do SQL Server usando o SQL Server Management Studio e a instrução Transact-SQL CREATE PROCEDURE.
Permissões
Requer a permissão CREATE PROCEDURE no banco de dados e a permissão ALTER no esquema no qual o procedimento está sendo criado.
Criar um procedimento armazenado
Você pode usar a interface do usuário do SQL Server Management Studio (SSMS) ou o Transact-SQL em uma janela de consulta do SSMS para criar um procedimento armazenado. Use sempre a versão mais recente do SSMS.
Observação
O procedimento armazenado de exemplo neste artigo usa o banco de dados de exemplo AdventureWorksLT2022
(SQL Server) ou AdventureWorksLT
(Banco de Dados SQL do Azure). Para obter instruções sobre como obter e usar os AdventureWorksLT
bancos de dados de exemplo, consulte Bancos de dados de exemplo AdventureWorks.
Usar o SQL Server Management Studio
Para criar um procedimento armazenado no SSMS:
No Pesquisador de Objetos, conecte-se a uma instância do SQL Server ou do Banco de Dados SQL do Azure.
Para obter mais informações, consulte os seguintes guias de início rápido:
Expanda a instância e expanda Bancos de dados.
Expanda o banco de dados desejado e expanda Programabilidade.
Clique com o botão direito em Procedimentos Armazenados e selecione Novo>Procedimento Armazenado. Uma nova janela de consulta é aberta com um modelo para o procedimento armazenado.
O modelo de procedimento armazenado padrão tem dois parâmetros. Se o procedimento armazenado tiver menos ou mais parâmetros ou nenhum, adicione ou remova linhas de parâmetro 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 de modelo, forneça as seguintes informações para os campos Valor:
- Autor: substitua
Name
por seu nome. - Data de criação: insira a data de hoje.
- Descrição: descreva resumidamente o que o procedimento faz.
- Procedure_Name: substitua
ProcedureName
pelo novo nome do procedimento armazenado. - @Param1: substitua
@p1
pelo nome do primeiro parâmetro, como @ColumnName1. - @Datatype_For_Param1: conforme apropriado, substitua
int
pelo tipo de dados do primeiro parâmetro, como nvarchar(50). - Default_Value_For_Param1: conforme apropriado, substitua
0
pelo valor padrão do primeiro parâmetro ou NULL. - @Param2: substitua
@p2
pelo nome do segundo parâmetro, como @ColumnName2. - @Datatype_For_Param2: conforme apropriado, substitua
int
pelo tipo de dados do segundo parâmetro, como nvarchar(50). - Default_Value_For_Param2: conforme apropriado, substitua
0
pelo valor padrão do segundo parâmetro ou NULL.
A seguinte captura de tela mostra a caixa de diálogo concluída para o exemplo de procedimento armazenado:
- Autor: substitua
Selecione OK.
No Editor de Consultas, substitua a instrução SELECT pela consulta do procedimento.
O código a seguir mostra a instrução CREATE PROCEDURE concluída para o procedimento armazenado de exemplo:
-- ======================================================= -- Create Stored Procedure Template for Azure SQL Database -- ======================================================= SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: My Name -- Create Date: 01/23/2024 -- Description: Returns the customer's company name. -- ============================================= CREATE PROCEDURE SalesLT.uspGetCustomerCompany ( -- Add the parameters for the stored procedure here @LastName nvarchar(50) = NULL, @FirstName nvarchar(50) = NULL ) AS 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 testar a sintaxe, no menu Consulta, selecione Analisar. Corrija todos os erros.
Selecione Executar na barra de ferramentas. O procedimento é criado como um objeto no banco de dados.
Para ver o novo procedimento listado no Pesquisador de Objetos, clique com o botão direito em Procedimentos Armazenados e selecione Atualizar.
Para executar o procedimento:
No Pesquisador de Objetos, clique com o botão direito do mouse no nome do procedimento armazenado e selecione Executar procedimento armazenado.
Na janela Executar Procedimento, insira valores para todos os parâmetros e selecione OK. Para obter instruções detalhadas, consulte Executar um procedimento armazenado.
Por exemplo, para executar o procedimento de exemplo
SalesLT.uspGetCustomerCompany
, insira Cannon para o parâmetro @LastName e Chris para o parâmetro @FirstName e selecione OK. O procedimento armazenado é executado e retornaFirstName
Chris,LastName
Cannon eCompanyName
Outdoor Sporting Goods.
Importante
Valide todas as entradas de usuário. Não concatene a entrada do usuário antes de validá-la. Nunca execute um comando construído por uma entrada de usuário inválida.
Usar o Transact-SQL
Para criar um procedimento no Editor de Consultas SSMS:
No SSMS, conecte-se a uma instância do SQL Server ou do Banco de Dados SQL do Azure.
Selecione Nova Consulta na barra de ferramentas.
Insira o código a seguir na janela de consulta, substituindo
<ProcedureName>
, os nomes e tipos de dados de quaisquer parâmetros e a instrução SELECT por seus próprios valores.CREATE PROCEDURE <ProcedureName> @<ParameterName1> <data type>, @<ParameterName2> <data type> AS SET NOCOUNT ON; SELECT <your SELECT statement>; GO
Por exemplo, a instrução a seguir cria o mesmo procedimento armazenado no banco de dados
AdventureWorksLT
que o 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; GO
Selecione Executar na barra de ferramentas para executar a consulta. O procedimento armazenado é criado.
Para executar o procedimento armazenado, insira uma instrução EXECUTE em uma nova janela de consulta, fornecendo valores para quaisquer parâmetros, e selecione Executar. Para obter instruções detalhadas, consulte Executar um procedimento armazenado.
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários