msdn21_capa.JPG

Clique aqui para ler todos os artigos desta edição

 

Stored Procedures no .NET – parte I

por Cezar Guimarães Neto

Este artigo discute

Este artigo usa as seguintes tecnologias:

·          O que são Stored Procedures

·          Construindo uma Procedure no Visual Studio

·          Facilidades do Visual Studio

 

SQL Server, VS.NET 2003

 

Download:

FontesUtilizandoSPs.zip (29KB)

Chapéu

Stored Procedure

 

 

A maioria dos artigos de segurança aconselha a utilização de stored procedures ao invés de acessar diretamente as tabelas de dados. Porém, muitos se perguntam das vantagens adicionais de utilizá-las. É verdade que existem muitas opiniões sobre quando e como usar as stored procedures. Alguns defendem religiosamente suas opiniões. Porém, meu objetivo não é defender nenhum dos lados desta batalha. O objetivo é que se você decidir utilizá-las, as utilize da melhor maneira e utilize alguns dos recursos que o Visual Studio oferece. Com isso, na primeira parte deste tutorial, abordarei o que é stored procedure e algumas das suas vantagens. Principalmente veremos passo-a-passo como construí-la no SQL Server utilizando o Visual Studio. No segundo artigo mostrarei como utilizar o ADO.Net para acessá-las.

 

O que são Stored Procedures

Uma Stored Procedure (sp) nada mais é do que um programa ou um conjunto de instruções SQL que é armazenado, como um código único, no próprio SGBD (Sistema Gerenciador de Banco de Dados). Ela pode ser executada utilizando T-SQL ou pode ser executada por um programa externo que processa os dados retornados. Com isso, o acesso as tabelas é feito pela Stored Procedure e não pelo programa que deseja processar os dados.

 

A definição de uma procedure contém duas partes. A primeira parte contém a especificação da procedure, seu nome e seus parâmetros. Podem-se utilizar tanto parâmetros de entrada (input) para receber valores externos ou retornar valores utilizando parâmetros de saída (output). A segunda parte é o corpo da procedure, que contêm as instruções SQL que serão executadas. Essas instruções podem ser selects, inserts, updates ou até a chamada de uma outra procedure. Um status pode ser retornado, utilizando a instrução RETURN, para indicar o sucesso ou falha da execução.

 

Existem alguns benefícios em utilizarmos as procedures. Podemos citar entre eles, uma execução mais rápida. Quando uma procedure é executada pela primeira vez, ela é compilada e otimizada gerando o seu plano de execução, que nada mais é do que os passos que o SQL Server deve seguir para executar as instruções contidas e alcançar os resultados especificados na procedure. Esse plano de execução é guardado em memória até o servidor ser reiniciado ou até ser retirado por pouco uso, liberando espaço em memória.  Assim, quando a procedure for utilizada uma outra vez não será necessário compilá-la e otimizá-la novamente. Um segundo benefício é diminuir o tráfego de rede. Quando você precisa executar diversas queries ou uma query muito grande para obter o resultado desejado, será necessário enviar uma grande quantidade de dados sobre a rede. Se uma procedure bem construída for utilizada, apenas um comando precisa ser enviado sobre a rede. O terceiro benefício foi mencionado no início, que são os aspectos de segurança. Não é necessário dar permissões de acesso as tabelas. Basta dar a permissão de execução para a procedure desejada. No aspecto de segurança outros benefícios podem ser acrescentados, mas este não é objetivo deste artigo.

 

Acesso as Stored Procedures

O Visual Studio oferece algumas ferramentas para visualização e manipulação de procedures. Para ter acesso as procedures de uma determinada base de dados o primeiro passo é criar o acesso ao SQL Server. Para isso acesse a janela do Server Explorer no menu View/Server Explorer. Nas opções do botão direito do nó Data Connections selecione Add Connection, conforme a figura 1.

 

...

Quer ler esse conteúdo completo? Tenha acesso completo