top of page

View, function e Procedure #3

Fala galera, o último post dessa série será sobre Stored Procedures.

Tem muita possibilidade de desenvolvimento com procedures, desde a regras complexas contendo tratamento de dados,

manipulação de informação, integração entre sistemas a filtragem de um select.


Na maioria dos casos as procedures são utilizadas com parâmetros, ou seja, recebe informação, trabalha essa informação e toma uma ação.

Os tipos de parâmetros são equivalentes a todos os tipos de dados que o SQL Server contém.


Dentro de uma procedure posso utilizar vários comandos diferentes, desde a criação de uma nova tabela, chamada de uma function até a alteração de

algum dado ou um simples select recebendo parâmetros para filtrar.


Alguns exemplos


Recebendo parâmetros e inserindo dados em uma tabela


Listando informações utilizando filtro




Alterando valores de uma tabela

Boas praticas:

1) Utilize o mínimo de variáveis possível, isso evitará consumo de recurso do servidor sem necessidade. Ao invés de pegar um valor e colocá-lo em uma variável para depois comparar em um IF, podemos usar um IF EXISTS para comparar direto

pulando uma etapa.


2) Modere o uso de tabelas temporárias, esse objeto é trabalhado no tempdb, o que pode deixar todo o processo mais lento.

Como alternativa, pode-se usar um CTE (Commom table expression).


3) Evite loops muito grandes, dependendo do processo existem opções como UPDATE FROM que executam a alteração em bloco e não individualmente.


4) Procure sempre utilizar o máximo de filtros possíveis (parâmetros) na procedure para utilizá-los no WHERE das querys que serão executadas dentro da proc.


5) Na maioria dos casos, é muito importante utilizar parâmetros com período de datas.


6) Evite execução aninhada, ou seja, chamar proc dentro de proc, cabe o bom senso, em determinados casos é necessário, mas se puder não trabalhar dessa forma o ganho de desempenho será alto.


Como observado, as procedures são como parte de um "sistema", pode-se fazer praticamente o mesmo que uma regra de uma aplicação. É uma ferramenta que se bem usada é muito importante e bacana de se aprender.


Até a próxima.


392 visualizações0 comentário

Posts recentes

Ver tudo

Comments


bottom of page