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:
- 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.
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:
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 ;)
- Processamento de consultas no SQL Server:
Este artigo apresenta como funciona o processamento de uma consulta no SQL Server, identificando os principais mecanismos e componentes desse sistema. - Performance no SQL Server: eliminando o operador Sort:
Veja neste artigo como otimizar a performance de consultas no SQL Server através da remoção do operador Sort. - Schemas no SQL Server:
Veja neste artigo informações sobre Schemas, o que é? Como criar? Como usar ? Como alterar ? Os Schemas são uma coleção de objetos dentro de um determinado database.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo