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 uma das seguintes opções:
SQL Server Management Studio
Transact-SQL
Usando 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, então, expanda essa instância.
Expanda Bancos de Dados, expanda o banco de dados do AdventureWorks2012 e, em seguida, expanda Programação.
Clique com o botão direito do mouse em Procedimentos Armazenados e 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
Your name
Create Date
Today's date
Descrição
Retorna dados de funcionário.
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
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 em Procedimentos Armazenados e selecione Atualizar.
Para executar o procedimento, no Pesquisador de Objetos, clique com o botão direito no nome do procedimento armazenado HumanResources.uspGetEmployeesTest e selecione Executar Procedimento Armazenado.
Na janela Executar Procedimento, digite Margheim como o valor do parâmetro @LastName e digite Diane como o valor do parâmetro @FirstName.
Cuidado |
---|
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. |
[Início]
Usando 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
[Início]