Executando procedimentos armazenados

Um procedimento armazenado é um objeto executável armazenado em um banco de dados. O SQL Server oferece suporte a:

  • Procedimentos armazenados:

    Uma ou mais instruções SQL pré-compiladas em um único procedimento executável.

  • Procedimentos armazenados estendidos:

    DLLs (bibliotecas de vínculo dinâmico) C ou C++ escritas para a API Open Data Services do SQL Server para procedimentos armazenados estendidos. A API Open Data Services estende os recursos de procedimentos armazenados para incluir código C ou C++.

Ao executar instruções, chamar um procedimento armazenado na fonte de dados (em vez de executar ou preparar diretamente uma instrução no aplicativo cliente) pode oferecer:

  • Maior desempenho

    Instruções SQL são analisadas e compiladas quando procedimentos são criados. Esta sobrecarga é então salva quando os procedimentos são executados.

  • Menor sobrecarga da rede

    A execução de um procedimento em vez de enviar consultas complexas pela rede pode reduzir o tráfego de rede. Se um aplicativo ODBC usa a sintaxe ODBC { CALL } para executar um procedimento armazenado, o driver ODBC faz otimizações adicionais que eliminam a necessidade de converter dados de parâmetros.

  • Maior consistência

    Se as regras de uma organização forem implementadas em um recurso central, como um procedimento armazenado, elas poderão ser codificadas, testadas e depuradas de uma vez. Programadores individuais podem então usar os procedimentos armazenados testados em vez de desenvolver suas próprias implementações.

  • Maior exatidão

    Como geralmente os procedimentos armazenados são desenvolvidos por programadores experientes, existe a tendência de que sejam mais eficientes e tenham menos erros que o código desenvolvido várias vezes por programadores com diversos níveis de habilidade.

  • Maior funcionalidade

    Os procedimentos armazenados estendidos podem usar recursos do C e do C++ não disponíveis em instruções Transact-SQL.

    Para obter um exemplo de como chamar um procedimento armazenado, consulte o exemplo de processing return codes and output parametersdisponível no CodePlex; consulte Exemplos do Mecanismo de Banco de Dados do SQL Server para obter mais informações.

Histórico de alterações

Conteúdo atualizado

Link atualizado para exemplo.