Procedimento armazenado

Definição - o que significa procedimento armazenado?

Um procedimento armazenado é uma sub-rotina disponível para aplicativos de sistema de banco de dados relacional conectados. Os procedimentos armazenados devem ser chamados ou invocados, pois são conjuntos de comandos SQL e de programação que executam funções muito específicas. A maioria dos principais sistemas de banco de dados relacional (por exemplo, SQL Server, Oracle, MySQL, Postgres e outros) fornecem suporte para procedimentos armazenados.

Esse termo também é conhecido como proc ou storedproc.

Definirtec explica o procedimento armazenado

Os procedimentos armazenados são usados ​​quando um aplicativo precisa executar uma tarefa complexa usando informações do banco de dados relacional. Um exemplo pode ser um pedido de empréstimo para determinar a capacidade de reembolso e a credibilidade de um cliente. Para verificar a capacidade de reembolso do cliente, o oficial de crédito compara a renda média mensal do cliente com a soma de saque mensal da conta em um período de 24 meses. Para verificar a capacidade de crédito, o oficial de crédito envia a identificação do cliente ou o número da previdência social a um site de relatórios de crédito.

Ambas as ações acima são complexas e difíceis de alcançar usando comandos SQL básicos. Além disso, o processo de aprovação de empréstimo do cliente pode ser executado em momentos variados para clientes diferentes (ou seja, a mesma ação é repetida várias vezes), mas diferentes informações do cliente estão associadas a cada ação.

A situação acima é um exemplo ideal de quando os storedprocs devem ser usados ​​- ou seja, ao executar uma ação complexa usando uma combinação de SQL, Linguagem de Procedimentos / Linguagem de Consulta Estruturada (PL / SQL) ou linguagem de programação externa, por exemplo, Java ou C ++. Em segundo lugar, a mesma ação é executada repetidamente e as únicas alterações são os parâmetros ou dados a serem processados.

Os procedimentos armazenados geralmente fornecem um benefício de desempenho em relação à escrita do código do aplicativo, pelos dois motivos a seguir:

  • Eles não geram comunicação extra entre programas entre o banco de dados e o aplicativo externo.
  • Não precisa ser compilado e executado para cada instância, pois storedprocs são compilados apenas uma vez.

Os procedimentos armazenados são armazenados como parte do dicionário de dados do banco de dados, em vez do aplicativo que faz referência ao banco de dados. Quando storedprocs chamam outros storedprocs, isso é conhecido como uma configuração de procedimentos armazenados aninhados.