Compartilhar via


Executar funções definidas pelo usuário

Você pode executar uma função definida pelo usuário no SQL Server 2014 usando o Transact-SQL.

Nesse Tópico

  • Antes de começar:

    limitações e restrições

    Segurança

  • Para executar uma função definida pelo usuário usando:

    Transact-SQL

Antes de começar

Limitações e restrições

No Transact-SQL, os parâmetros podem ser fornecidos usando o valor ou usando @parameter_name=valor. Um parâmetro não faz parte de uma transação; portanto, se um parâmetro for alterado em uma transação que será revertida posteriormente, o valor do parâmetro não será revertido para seu valor anterior. O valor retornado ao chamador será sempre o valor no momento do retorno do módulo.

Segurança

Permissões

As permissões não são necessárias para executar a instrução EXECUTE. No entanto, são necessárias permissões para os elementos de segurança que são referenciados dentro da string de EXECUTE. Por exemplo, se a cadeia de caracteres contiver uma instrução INSERT, o chamador da instrução EXECUTE deverá ter a permissão INSERT na tabela de destino. As permissões são verificadas no momento em que a instrução EXECUTE é encontrada, mesmo se a instrução EXECUTE estiver incluída em um módulo. Para obter mais informações, consulte EXECUTE (Transact-SQL)

Usando Transact-SQL

Para executar uma função definida pelo usuário

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar.

    USE AdventureWorks2012;  
    GO  
    -- Declares a variable and sets it to zero.  
    -- This variable is used to return the results of the function.  
    DECLARE @ret nvarchar(15)= NULL;   
    
    -- Executes the dbo.ufnGetSalesOrderStatusText function.  
    --The function requires a value for one parameter, @Status.   
    EXEC @ret = dbo.ufnGetSalesOrderStatusText @Status= 5;   
    --Returns the result in the message tab.  
    PRINT @ret;  
    

Para obter mais informações, consulte EXECUTE (Transact-SQL).