Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como criar um procedimento armazenado no SQL Server


Para criar um procedimento armazenado no SQL Server:
  1. Clique em Nova consulta na barra de ferramentas do SSMS
  2. Digite (ou cole) um CREATE PROCEDURE declaração (exemplo abaixo)
  3. Clique no botão Executar botão na barra de ferramentas

Isso adicionará o procedimento armazenado ao banco de dados. Você pode vê-lo no nó Stored Procedures no Object Explorer.

Abaixo estão as capturas de tela e mais detalhes para as etapas acima.


Nova consulta


Clique em Nova consulta na barra de ferramentas do SSMS:

A declaração CREATE PROCEDURE


Digite um CRIAR PROCEDIMENTO demonstração.

Exemplo


Veja um exemplo de um CREATE PROCEDURE demonstração:
CREATE PROCEDURE LatestTasks @Count int AS
SET ROWCOUNT @Count
SELECT TaskName AS LatestTasks, DateCreated
FROM Tasks
ORDER BY DateCreated DESC

Esse script cria um procedimento armazenado chamado LatestTasks que aceita um parâmetro chamado Count.

Como redigir uma declaração CREATE PROCEDURE


Você inicia seu script com CREATE PROCEDURE [procedure_name] COMO.

Por exemplo, para criar um procedimento armazenado chamado GetCustomer, comece com o seguinte:
CREATE PROCEDURE GetCustomer AS

Siga isso com o código SQL para o procedimento armazenado, assim como no exemplo acima.

Se o procedimento armazenado aceitar parâmetros, adicione-os e seus tipos de dados à primeira linha. Prefixe o nome do parâmetro com o @ símbolo.

Por exemplo, para adicionar um parâmetro chamado CustomerId com um tipo de dados de Integer:
CREATE PROCEDURE GetCustomer @CustomerId int AS

Executar a Declaração


Clique no botão Executar botão na barra de ferramentas para executar a instrução SQL que cria o procedimento armazenado.

Alternativamente, pressione F5 tecla do seu teclado.

Agora você deve ver o procedimento armazenado no Pesquisador de objetos.

Executar o procedimento armazenado


Para executar ou chamar o procedimento armazenado, use o comando EXECUTE ou o EXEC comando (ambos fazem a mesma coisa).

Então pode ser isso:
EXECUTE GetCustomer @CustomerId = 7

ou isto:
EXEC GetCustomer @CustomerId = 7

O exemplo acima transmite um parâmetro chamado CustomerId com valor 7. A alteração desse valor processaria um cliente diferente.

A captura de tela a seguir mostra o efeito de passar um parâmetro diferente. Dois EXEC As instruções são executadas no mesmo procedimento armazenado, mas cada uma passa um valor de parâmetro diferente:

Executando um procedimento armazenado da GUI


Você pode chamar um procedimento armazenado diretamente do Pesquisador de objetos na GUI do SSMS.

Basta clicar com o botão direito do mouse no procedimento armazenado e selecionar Executar procedimento armazenado... :

Isso faz com que a seguinte caixa de diálogo "Execute Procedure" apareça, na qual você pode fornecer valores para quaisquer parâmetros que o procedimento armazenado usará: