Executar funções definidas pelo usuário
Aplica-se a:SQL ServerBanco de Dados SQL do Azure
Execute uma função definida pelo usuário usando o Transact-SQL.
Limitações e restrições
No Transact-SQL, parâmetros podem ser fornecidos usando value ou usando @parameter_name=value. Um parâmetro não faz parte de uma transação. Portanto, se ele for alterado em uma transação que for posteriormente revertida, 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.
Permissões
Não são necessárias permissões para executar a instrução EXECUTE. Porém, permissões são necessárias nos protegíveis mencionados na cadeia de caracteres EXECUTE. Por exemplo, se a cadeia de caracteres tiver 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 quando a instrução EXECUTE for encontrada, mesmo se ela estiver incluída em um módulo. Para obter mais informações, confira EXECUTE (Transact-SQL)
Usar o Transact-SQL
Este exemplo usa a função de valor escalar ufnGetSalesOrderStatusText
que está disponível na maioria das edições do AdventureWorks
. A finalidade da função é retornar um valor de texto para o status de vendas de um determinado inteiro. Varie o exemplo passando números inteiros de 1 a 7 para o parâmetro @Status
.
USE [AdventureWorks2022]
GO
-- Declare a variable to return the results of the function.
DECLARE @ret nvarchar(15);
-- Execute the function while passing a value to the @status parameter
EXEC @ret = dbo.ufnGetSalesOrderStatusText @Status = 5;
-- View the returned value. The Execute and Select statements must be executed at the same time.
SELECT N'Order Status: ' + @ret;
-- Result:
-- Order Status: Shipped
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de