Partilhar via


Tipos de procedimentos armazenados

Há muitos tipos de procedimentos armazenados disponíveis no MicrosoftSQL Server. Este tópico descreve resumidamente cada tipo de procedimento armazenado e inclui um exemplo de cada.

Procedimentos armazenados definidos pelo usuário

Procedimentos armazenados são módulos ou rotinas que encapsulam um código para ser reutilizado. Um procedimento armazenado pode pegar parâmetros de entrada, retornar resultados tabulares ou escalares e mensagens ao cliente, invocar instruções DDL (linguagem de definição de dados) e DML (linguagem de manipulação de dados) e retornar parâmetros de saída. No SQL Server 2008, um procedimento armazenado pode ser de dois tipos: Transact-SQL ou CLR.

Transact-SQL

Um procedimento armazenado Transact-SQL é uma coleção salva de instruções Transact-SQL que podem levar e retornar parâmetros fornecidos pelo usuário. Por exemplo, um procedimento armazenado poderia conter as instruções necessárias para inserir uma nova linha em uma ou mais tabelas com base nas informações fornecida pelo aplicativo cliente. Ou, o procedimento armazenado poderia retornar dados do banco de dados para o aplicativo cliente. Por exemplo, um aplicativo e-commerce Web poderia usar um procedimento armazenado para retornar informações sobre produtos específicos com base em um critério de pesquisa especificado pelo usuário online.

CLR

Um procedimento armazenado CLR é uma referência a um método CLR (Common Language Runtime) Microsoft.NET Framework que podem levar e retornar parâmetros fornecidos pelo usuário. Eles são implementados como métodos públicos, estáticos em uma classe em um assembly .NET Framework. Para obter mais informações, consulte procedimentos armazenados CLR.

Procedimentos armazenados estendidos

Observação importanteImportante

Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Use Integração CLR.

Procedimentos armazenados estendidos lhe permitem criar suas próprias rotinas externas em linguagem de programação, como C. Procedimentos armazenados estendidos são DLLs que uma instância do MicrosoftSQL Server pode carregar e executar dinamicamente. Procedimentos armazenados estendidos são executados diretamente no espaço de endereçamento de uma instância do SQL Server e são programados usando a API do procedimento armazenado estendido SQL Server.

ObservaçãoObservação

A integração CLR fornece uma alternativa mais robusta e segura para gravar procedimentos armazenados estendidos.

Procedimentos armazenados do sistema

Muitas atividades administrativas são executadas no SQL Server por um tipo especial de procedimento conhecido como um procedimento armazenado do sistema. Por exemplo, o sys.sp_changedbowner é um procedimento armazenado do sistema. Os procedimentos armazenados do sistema são armazenados fisicamente no Banco de dados de recursos e têm o prefixo sp_. Os procedimentos armazenados do sistema aparecem logicamente no esquema sys de todo sistema e de banco de dados definido pelo usuário. No SQL Server 2008, as permissões GRANT, DENY, e REVOKE podem ser aplicadas aos procedimentos armazenados do sistema. Para obter uma lista completa de procedimentos armazenados do sistema, consulte Procedimentos Armazenados do Sistema (Transact-SQL).

O SQL Server oferece suporte aos procedimentos armazenados do sistema que fornecem uma interface do SQL Server para programas externos para várias atividades de manutenção. Esses procedimentos armazenados estendidos usam o prefixo xp_. Para obter uma lista completa de procedimentos armazenados estendidos, consulte Procedimentos armazenados estendidos gerais (Transact-SQL).