Tutorial SQL

SQL INÍCIO Introdução SQL Sintaxe SQL Seleção SQL SQL Select Distinto SQL Onde SQL E, Ou, Não Ordem SQL por SQL Inserir em Valores Nulos SQL Atualização SQL Excluir SQL SQL Select Top SQL Mínimo e Máximo Contagem SQL, Média, Soma Como SQL Curingas SQL Entrada SQL SQL entre Alias ​​SQL Junções SQL SQL Inner Join SQL Left Join Associação à direita do SQL Associação completa SQL Auto-junção SQL União SQL SQL Agrupar por SQL tendo SQL existe SQL Qualquer, Todos SQL Selecionar em SQL Inserir na seleção Caso SQL Funções Nulas SQL Procedimentos armazenados SQL Comentários SQL Operadores SQL

Banco de dados SQL

SQL Criar banco de dados SQL Drop DB Banco de dados de backup SQL SQL Criar Tabela Tabela de descarte de SQL Tabela de alteração SQL Restrições SQL SQL não nulo SQL exclusivo Chave Primária SQL Chave estrangeira SQL Verificação SQL Padrão SQL Índice SQL Incremento automático de SQL Datas SQL Visualizações SQL Injeção SQL Hospedagem SQL Tipos de dados SQL

Referências SQL

Palavras-chave SQL Funções do MySQL Funções do SQL Server Funções de acesso MS Referência Rápida SQL

Exemplos SQL

Exemplos SQL Teste SQL Exercícios de SQL Certificado SQL

Procedimentos armazenados do SQL para SQL Server


O que é um procedimento armazenado?

Um procedimento armazenado é um código SQL preparado que você pode salvar, para que o código possa ser reutilizado repetidamente.

Portanto, se você tiver uma consulta SQL que você escreve repetidamente, salve-a como um procedimento armazenado e, em seguida, apenas chame-a para executá-la.

Você também pode passar parâmetros para um procedimento armazenado, para que o procedimento armazenado possa agir com base nos valores de parâmetro passados.

Sintaxe do procedimento armazenado

CREATE PROCEDURE procedure_name
AS
sql_statement
GO;

Executar um procedimento armazenado

EXEC procedure_name;

Banco de dados de demonstração

Abaixo está uma seleção da tabela "Clientes" no banco de dados de exemplo Northwind:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

Exemplo de procedimento armazenado

A seguinte instrução SQL cria um procedimento armazenado chamado "SelectAllCustomers" que seleciona todos os registros da tabela "Customers":

Exemplo

CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;

Execute o procedimento armazenado acima da seguinte maneira:

Exemplo

EXEC SelectAllCustomers;


Procedimento armazenado com um parâmetro

A instrução SQL a seguir cria um procedimento armazenado que seleciona Clientes de uma determinada cidade da tabela "Clientes":

Exemplo

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO;

Execute o procedimento armazenado acima da seguinte maneira:

Exemplo

EXEC SelectAllCustomers @City = 'London';

Procedimento armazenado com vários parâmetros

Configurar vários parâmetros é muito fácil. Basta listar cada parâmetro e o tipo de dados separados por uma vírgula, conforme mostrado abaixo.

A instrução SQL a seguir cria um procedimento armazenado que seleciona Clientes de uma determinada cidade com um código postal específico da tabela "Clientes":

Exemplo

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO;

Execute o procedimento armazenado acima da seguinte maneira:

Exemplo

EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';