Bom dia pessoal, hoje veremos informações sobre as stored procedures, que é algo que será muito utilizado nas tarefas de seu banco de dados, espero que gostem.

Fonte de pesquisa: www.imasters.uol.com

Stored Procedure, traduzido Procedimento armazenado, é uma biblioteca de comandos em SQL para utilização junto ao banco de dados.

Ela armazena tarefas repetitivas e aceita parâmetros de entrada para que a tarefa seja efetuada de acordo com a necessidade individual.Uma 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 as stored procedures são de extrema importância para os DBAs e desenvolvedores.Há 5 Procedimentos (Procedures) básicos que podemos criar:

  • Procedimentos Locais – São criados a partir de um banco de dados do próprio usuário;
  • Procedimentos Temporários – Existem dois tipos de procedimentos temporários:
  • Locais, que devem começar com # e Globais, que devem começar com ##;
  • Procedimentos de Sistema – Armazenados no banco de dados padrão do SQL Server (Master), podemos indentifica-los com as siglas sp, que se origina de stored procedure. Tais procedures executam as tarefas administrativas e podem ser executadas a partir de qualquer banco de dados.
  • Procedimentos Remotos – Podemos usar Queries Distribuídas para tais procedures. São utilizadas apenas para compatibilidade.
  • Procedimentos Estendidos – Diferente dos procedimentos já citados, este tipo de procedimento recebe a extensão .dll e são executadas fora do SGBD SQL Server. São identificadas com o prefixo xp.

Quando utilizar procedures

  • Quando temos várias aplicações escritas em diferentes linguagens, ou rodam em plataformas diferentes, porém executam a mesma função.
  • Quando damos prioridade à consistência e segurança.
Leia Também:   Como criar um filtro de datas avançado no Access

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 as stored procedures, que rodam ações específicas e determinadas pelos DBAs e desenvolvedores.Criando uma stored Procedure

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

USE BancoDados

GOCREATE PROCEDURE Busca — Declarando o nome da procedure

@CampoBusca VARCHAR (20) — Declarando variável (note que utilizamos o @ antes do nome da variável)

ASSELECT Codigo, Descrição — Consulta

FROM NomeTabelaWHERE 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 ‘iMasters’O que nos retornaria o seguinte resultado:

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

DROP PROCEDURE Busca.