Introdução aos Stored Procedures no SQL Server

Conheça melhor estas funções muito úteis para DBAs e desenvolvedores, e acompanhe um passo-a-passo baseado no SQL Server.

Afinal o que é Stored Procedures

Neste artigo veremos um pouco sobre stored procedures, funções muito úteis para o dia-dia de DBAs e desenvolvedores. Veremos passo a passo como criar um stored procedure no SQL Server.

Stored Procedure, que traduzido significa Procedimento Armazenado, é uma conjunto de comandos em SQL que podem ser executados de uma só vez, como em uma função. Ele armazena tarefas repetitivas e aceita parâmetros de entrada para que a tarefa seja efetuada de acordo com a necessidade individual.

Um Stored Procedure pode reduzir o tráfego na rede, melhorar a performance de um banco de dados, criar tarefas agendadas, diminuir riscos, criar rotinas de processsamento, etc.

Por todas estas e outras funcionalidades é que os stored procedures são de extrema importância para os DBAs e desenvolvedores.

Há cinco tipos de procedures básicos que podemos criar:

Quando utilizar procedures

Os bancos (Itaú, Bradesco, Real, etc), por exemplo, em geral, utilizam stored procedures para todas as operações em comum. Os procedimentos podem assegurar que as operações sejam registradas de forma correta e segura.

Por que é mais seguro?

Seguindo a linha de raciocínio dos bancos, utilizando stored procedures outras aplicações e usuários não conseguiriam nenhum tipo de acesso às tabelas do banco de dados de forma direta.

Eles poderiam apenas executar os stored procedures, que rodam ações específicas e determinadas pelos DBAs e desenvolvedores.

Criando um stored procedure

Este é um exemplo de um stored procedure que executa uma consulta utlizando um filtro por descrição, em uma tabela específica de nosso banco de dados.

USE BancoDados GO CREATE PROCEDURE Busca --- Declarando o nome da procedure @CampoBusca VARCHAR (20) --- Declarando variável (note que utilizamos o @ antes do nome da variável) AS SELECT Codigo, Descrição --- Consulta FROM NomeTabela WHERE Descricao = @CampoBusca --- Utilizando variável como filtro para a consulta

Para executar uma procedure basta utiilizar a cláusula EXECUTE seguido pelo nome da procedure e na frente o valor a ser utilizado como parâmetro Exemplo:

EXECUTE Busca 'DEVMEDIA'

O que nos retornaria o seguinte resultado:

Figura 1. Retorno do stored procedure.

Para excluir um procedure é necessário utilizar a cláusula DROP PROCEDURE como no exemplo abaixo.

DROP PROCEDURE Busca.

Bem, espero ter ajudado àqueles que se interessam pelo assunto.

Saiba mais sobre SQL Server ;)

Artigos relacionados