Stored Procedure
Tags: webdev, stored, storedprocedure, programming
Published: 2023-11-12 17:52:28


No artigo abaixo iremos abordar um tema de muita relevância quando se trata de banco de dados, Stored Procedure conjunto de comandos DML e DDL utilizados para maior economia de tempo, CPU e memória que impactando imensamente na hora de consultas e otimizações do banco de dados, além de aumentos nas questões de segurança de dados já armazenados nos e a possibilidade e de reaproveitamento de logicas já existentes no código.

Mas as questões que ficam são as seguintes:
1.	O que é uma Store Procedure?
2.	Como ocorre a sua aplicação? 
3.	Quais seriam as vantagens e desvantagens? 
4.	Funcionaria em uma aplicação de mercado? 

Essas e outras questões serão respondidas no artigo abaixo.








**O que é Store Procedure? 
**
Store Procedure pode ser definido como um conjunto de comandos podendo ser DDL ou DML, este conjunto fica armazenado no Banco de Dados, e pode ser chamado a qualquer momento tanto pelo SGBD quanto por um sistema que faz interface com esse sistema.
Podendo ser eficiente quando utilizado de maneira correta, sendo altamente utilizado para evitar repetições de código deixando assim o código mais legível e coerente, questões de segurança, travando ou dificultando o acesso indesejado de possíveis pessoa que não deveriam ter acesso, e usando para obter um ganho de memória e performance. 

Como ocorre sua aplicação? 

1.	O primeiro passo será criar uma tabela no banco de dados para posterior da utilização na Stored procedure. 

2.	Após a sua criação, será criada uma store procedure com a passagem de parâmetros, isso deixa-as mais fáceis de utilizar e flexíveis, primeiro um parâmetro (Ex: CREATE PROCEDURE cadastrocelular) de entrada. 

3.	Após isso execute o comando (EXECUTE cadastrocelular SELECT “número do celular”).

4.	Neste passo a Stored Procedure já está criada e configurada, agora para sua execução é necessário um objeto Consulta, que pode ser habilitado para edição direta do SQL inserindo (EXECUTE cadastrocelular SELECT <%entrada%>).
5.	Este comando irá enviar uma variável como parâmetro de entrada.

6.	Para obter um retorno de saída é necessário informar uma variável do tipo OUTPUT.


Vantagens e Desvantagens de utilizar uma Stored Procedure  


Vantagens

•	Otimização de desempenho, as chamadas se tornam mais rápidas pois os procedimentos armazenados são compilados de uma vez, e armazenados de modo que possam ser executados rapidamente.

•	Aumento na produtividade, um trecho de código já existente economiza tempo de criação do mesmo código novamente.

•	Capacidade de manutenção, manter um procedimento em um único servidor é mais fácil do que manter várias copias em vários servidores.

•	Segurança, restringindo o acesso a pessoas que não possuam a senha de “Administrador”, assim mantendo a segurança.







Desvantagens

•	Testes, qualquer erro de dados no tratamento do procedimento armazenado não é gerado a tempo.

•	Depuração, a depuração em alguns bancos de dados pode se tornar muito difíceis, o SQL possui recursos para auxílio. 

•	Custo, existe a possibilidade de gastos adicionais com funcionários, mais especificamente um DBA para a criação de uma Store Procedure de confiável e aplicável.

•	Portabilidade, procedimentos complexos nem sempre poderão ser portados em caso de migração de banco de dados, como por exemplo de um banco de dados da Oracle, para um MySQL. 


Aplicações de Mercado

Agora fazendo uma análise podemos observar possíveis cenários de mercado quais a criação de uma Stored procedure se encaixa perfeitamente, dentre eles podemos citar Bancos, hospitais, telecomunicações e redes que utilizam uma cadeia de suprimentos cadeias de suprimentos utilizam em várias aplicações para maior segurança, sendo assim vista como uma peça indispensável na criação de banco de dados que pretenda ter escalabilidade, segurar e organização.




Conclusão

	O que pode se concluir sobre Stored Procedures são que as suas utilizações e finalidades são das mais diversas podendo se aplicar em diversos setores, comumente utilizadas em setores bancários, logísticos, financeiros etc. Sendo uma peça fundamentos nos Bancos de dados atuais para seu melhor funcionamento tendo como foco melhorar o desempenho, consultas, e criações dinâmicas.

São Paulo
2023

Johnny Willian
Nicolas Sales
Paulo Lopes