Partilhar via


Como: Criar procedimentos armazenados e funções definidas pelo usuário

Você pode usar Gerenciador de servidores para criar procedimentos armazenados.Procedimentos armazenados podem definir regras de negócio complexos, modificação de dados de controle, limitar o acesso através de permissões de segurança, fornecer integridade das transações e geralmente é o banco de dados o aplicativo necessita de trabalho.

Com o Microsoft SQL servidor 2000 e posterior, você também pode usar Gerenciador de servidores para criar funções definidas pelo usuário.Uma função definida pelo usuário é uma rotina que encapsula a lógica de útil para uso em outras consultas.Enquanto as exibições limitam-se a uma única demonstrativo selecionar, funções definidas pelo usuário podem ter várias instruções selecionar e fornecer mais potente lógica que é possível com os modos de exibição.

Funções definidas pelo usuário sempre retornam um valor.Dependendo do tipo de valor que ele retorna, cada função definida pelo usuário pertença a um dos três categorias:

  • função de valor escalar   Uma função definida pelo usuário pode retornar um valor escalar, sistema autônomo um inteiro ou um carimbo de data/hora.Se uma função retorna um valor escalar, você pode usá-lo em uma consulta em qualquer lugar, você usaria um nome de coluna.

  • embutido função   Se uma função definida pelo usuário contém uma única demonstrativo selecionar e essa demonstrativo é atualizável, o resultado tabular retornado pela função também é atualizável.Essas funções são chamadas embutido funções.Quando um embutido função retorna uma tabela, você pode usar essa função na cláusula FROM de outra consulta.Para obter mais informações, consulte Como: Criar consultas usando algo além do mais uma tabela.

  • função com valor de tabela   Se uma função definida pelo usuário contém mais de uma demonstrativo selecionar ou contém uma demonstrativo selecionar que não é atualizável, o resultado tabular retornado por essa função não é atualizável.Quando uma função com valor de tabela retorna uma tabela, você pode usar essa função na cláusula FROM de outra consulta.

Observação:

Os exemplos a seguir, dbo é o acrônimo de proprietário do banco de dados e é usado para qualificar o procedimento armazenado e o nome de função definida pelo usuário.O dbo é um usuário que tenha permissões implícitas para executar todas as atividades no banco de dados.Qualquer objeto criado por qualquer membro da função sysadmin pertence automaticamente ao dbo.Os exemplos a seguir, o qualificador de nome dbo está incluído.

Observação:

As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritas na Ajuda, dependendo das configurações ativas ou configurações de edição.Para alterar as configurações, escolher Importar e exportar configurações on the Ferramentas menu.Para obter mais informações, consulte Configurações do Visual Studio.

Para criar um novo procedimento armazenado

  1. No servidor Explorer, clicar com o botão direito do mouse sobre o Procedimentos armazenados pasta ou em qualquer procedimento armazenado nessa pasta.

  2. escolher Adicionar novo procedimento armazenado no menu de atalho.

    Um novo procedimento armazenado é criado com o esqueleto instruções SQL a seguir:

    CREATE PROCEDURE dbo.StoredProcedure1
    /*
       (
          @parameter1 datatype = default value,
          @parameter2 datatype OUTPUT
       )
    */
    AS
       /* SET NOCOUNT ON */
       RETURN
    
  3. Você pode substituir StoredProcedure1 na primeira linha com o nome do novo procedimento. Por exemplo, você pode usar MyProcedure sistema autônomo o nome:

    CREATE PROCEDURE dbo.MyProcedure
    
    Observação:

    Procedimentos armazenados devem ter nomes exclusivos.Se você escolher um nome que já esteja atribuído a outro procedimento armazenado, uma mensagem de erro avisará que um procedimento armazenado com esse nome já existe.

  4. gravar o texto restante do procedimento no SQL.

    Para obter mais informações e exemplos de procedimentos armazenados, consulte a documentação do seu servidor de banco de dados.Se você estiver usando o Microsoft ® SQL servidor ™, consulte "criar procedimento" nos manuais online do SQL servidor.

Para criar uma nova função definida pelo usuário

  1. In Gerenciador de servidores, clicar com o botão direito do mouse o Funções pasta ou qualquer função nessa pasta.

  2. Aponte para Adicionar novo e, em seguida, escolher embutido Função, função com valor de tabela, or função de valor escalar no menu de atalho.

    Observação:

    Não é possível modificar as instruções SQL esqueleto para uma nova função em instruções SQL para um tipo de função diferente e salvar os resultados.Por exemplo, se você começar com uma função in-line, você não pode modificar as instruções SQL para uma função de valor escalar.O processo de salvamento falhará.

    Uma nova função definida pelo usuário é criada usando instruções SQL de esqueleto.Por exemplo, escolhendo função de valor escalar exibe esqueleto instruções SQL a seguir:

    CREATE FUNCTION dbo.Function1
       (
       /*
       @parameter1 datatype = default value,
       @parameter2 datatype
       */
       )
    RETURNS /* datatype */
    AS
       BEGIN
          /* sql statement ... */
       RETURN /* value */
       END
    
  3. Você pode substituir Function1 na primeira linha com o nome da nova função. Por exemplo, você pode usar MyFunction sistema autônomo o nome:

    CREATE FUNCTION dbo.MyFunction
    
    Observação:

    Funções definidas pelo usuário devem ter nomes exclusivos.Se você escolher um nome que já está atribuído a outra função, uma mensagem de erro avisará que uma função com esse nome já existe.

  4. Escreva o texto de função restantes em SQL.

Observação:

Se o menu de atalho não oferecer as opções que necessárias, a versão do Visual Studio que você está usando talvez não suporte a esse recurso.Para obter mais informações, consulte O Visual banco de dados Tools Editions.

Para obter mais informações e exemplos de funções definidas pelo usuário, consulte a documentação do seu servidor de banco de dados.Se você estiver usando o Microsoft ® SQL servidor ™, consulte "criar função" nos manuais online do SQL servidor.

Consulte também

Conceitos

Expressões em consultas

Outros recursos

Trabalhando com procedimentos armazenados e funções definidas pelo usuário