Criar um procedimento armazenado
Este tópico descreve como criar um procedimento armazenado Transact-SQL usando o SQL Server Management Studio e a declaração Transact-SQL CREATE PROCEDURE.
Antes de começar: Permissões
Para criar um procedimento, usando: SQL Server Management Studio, Transact-SQL
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.
Como criar um procedimento armazenado
Você pode usar um dos itens a seguir:
Como usar o SQL Server Management Studio.
Para criar um procedimento no Pesquisador de Objetos
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados e expanda-a.
Expanda Bancos de Dados, expanda o banco de dados AdventureWorks2012 e, em seguida, expanda Programabilidade.
Clique com o botão direito do mouse em Procedimentos Armazenadose clique em Novo Procedimento Armazenado.
No menu Consulta , clique em Especificar Valores para Parâmetros de Modelo.
Na caixa de diálogo Especificar Valores para Parâmetros de Modelo , digite os seguintes valores para os parâmetros mostrados.
Parâmetro Valor Autor Seu nome Data de criação Data de hoje Descrição Retorna dados de funcionário. Procedure_name HumanResources.uspGetEmployeesTest @Param1 @LastName @Datatype_For_Param1 nvarchar
(50)Default_Value_For_Param1 NULO @Param2 @FirstName @Datatype_For_Param2 nvarchar
(50)Default_Value_For_Param2 NULO Clique em OK.
No Editor de Consultas, substitua a instrução SELECT pela seguinte instrução:
SELECT FirstName, LastName, Department FROM HumanResources.vEmployeeDepartmentHistory WHERE FirstName = @FirstName AND LastName = @LastName AND EndDate IS NULL;
Para testar a sintaxe, no menu Consulta , clique em Analisar. Se uma mensagem de erro for retornada, compare as instruções com as informações acima e corrija conforme necessário.
Para criar o procedimento, no menu Consulta, clique em Executar. O procedimento é criado como um objeto no banco de dados.
Para ver o procedimento listado no Pesquisador de Objetos, clique com o botão direito do mouse 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 HumanResources.uspGetEmployeesTest e selecione Executar Procedimento Armazenado.
Na janela Executar Procedimento, insira Margheim como o valor para o parâmetro @LastName e insira o valor Diane como o valor para o parâmetro @FirstName.
Aviso
Valide todas as entradas de usuário. Não concatene a entrada de usuário antes de validá-la. Nunca execute um comando construído por uma entrada de usuário inválida.
Usando o Transact-SQL
Para criar um procedimento no Editor de Consultas
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.
No menu Arquivo , clique em Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e clique em Executar. Este exemplo cria o mesmo procedimento armazenado descrito acima usando um nome de procedimento 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 executar o procedimento, copie e cole o exemplo a seguir em uma nova janela de consulta e clique em Executar. Observe que métodos diferentes de especificar os valores de parâmetros são mostrados.
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