Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Base de Dados SQL do Azure
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Um procedimento armazenado é um objeto executável armazenado numa base de dados. SQL Server suporta:
Procedimentos armazenados:
Uma ou mais instruções SQL pré-compiladas num único procedimento executável.
Procedimentos armazenados alargados:
Bibliotecas de ligação dinâmica (DLL) em C ou C++ escritas para a API Open Data Services do SQL Server para procedimentos armazenados estendidos. A API de Serviços de Dados Abertos estende as capacidades dos 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 na aplicação cliente) pode fornecer:
Maior desempenho
As instruções SQL são analisadas e compiladas quando os procedimentos são criados. Esta sobrecarga é então poupada quando os procedimentos são executados.
Redução da sobrecarga da rede
Executar um procedimento em vez de enviar consultas complexas pela rede pode reduzir o tráfego da rede. Se uma aplicação ODBC usar 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 num recurso central, como um procedimento armazenado, podem ser codificadas, testadas e depuradas uma vez. Os programadores individuais podem então usar os procedimentos armazenados testados em vez de desenvolverem as suas próprias implementações.
Maior precisão
Como os procedimentos armazenados são geralmente desenvolvidos por programadores experientes, tendem a ser mais eficientes e a apresentar menos erros do que o código desenvolvido várias vezes por programadores de diferentes níveis de competência.
Funcionalidade adicionada
Os procedimentos armazenados alargados podem usar funcionalidades em C e C++ que não estão disponíveis nas instruções Transact-SQL.
Para um exemplo de como chamar um procedimento armazenado, veja Códigos de Retorno de Processos e Parâmetros de Saída (ODBC).