Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Procedures X function

Boa noite, gostaria de sanar algumas dúvidas:

  • Gostaria de saber, quais as principais diferenças entre uma procedure e uma function tendo em vista que ambas trazem uma linha como retorno.
  • No dia a dia das empresas, as procedures são utilizadas somente para updates, insert e delete? -E as function para retornar valor de uma ´serie de movimentações (subselects, joins, union) e que esses comandos ficam salva no banco para uma posterior chamada?
  • e qual são as vantagens em adotar procedures e function

Grato pela remoção dessas dúvidas.

1 resposta
solução!

Olá Bruno, tudo bem?

Bom em relação às diferenças entre Procedures e Functions, aqui estão algumas que acho principais:

  • Functions retornam valores ;
  • Procedures podem ou não retornar um valor.
  • Functions podem ser usadas em uma instrução SELECT;
  • Procedures não podem ser usadas em uma instrução SELEC.
  • Functions podem ter apenas parâmetros de entrada;
  • Procedures podem ter parâmetros de entrada / saída.
  • Functions podem ser chamadas de dentro de Procedures ;
  • Procedures não podem ser chamados a partir de functions.

Já em relação ao uso de procedures e functions no dia a dia das empresas, é basicamente o que você falou, mas no meu ponto de vista a escolha também deve depender do que será necessário executar e como será utilizado esse procedimento, por exemplo, se você não vai precisar retornar nenhum valor então você usa a procedure, já que a function obrigatoriamente precisa retornar um valor, caso você precise utilizar em uma instrução SELECT o ideal é escolher a function, já que procedures não podem ser usadas.

As vantagens de usar procedures e function é que elas provem aumento de desempenho e segurança, também promovem reusabilidade e facilidade de manutenção, como por exemplo, esses procedimentos ficam armazenados no banco de dados, não é necessário sempre copiar um código quando precisar executar alguma operação, a instrução SQL já está pronta, o que precisa ser feito apenas é chamar o procedimento que executa o que você precisa. Isso pode ser muito utilizado, por exemplo, na geração de relatórios, já que muitas empresas precisam gerar relatórios diários, semanais, mensais...

Espero ter esclarecido a sua dúvida Bruno, qualquer coisa é só falar e bons estudos!