Exécuter les fonctions définies par l'utilisateur
Vous pouvez exécuter une fonction définie par l'utilisateur dans SQL Server 2012 à l'aide de Transact-SQL.
Dans cette rubrique
Avant de commencer :
Limitations et restrictions
Sécurité
Pour exécuter une fonction définie par l'utilisateur à l'aide de :
Transact-SQL
Avant de commencer
Limitations et restrictions
Dans Transact-SQL, il est possible de fournir les paramètres en utilisant value ou @parameter\_name = value. Un paramètre ne fait pas partie d'une transaction ; par conséquent, si vous modifiez l'un d'eux dans une transaction et que vous restaurez cette dernière par la suite, le paramètre ne reprend pas sa valeur initiale. La valeur renvoyée à l'appelant est toujours la valeur au moment du renvoie du module.
Sécurité
Autorisations
Aucune autorisation n'est requise pour exécuter l'instruction EXECUTE. Cependant, des autorisations sont requises sur les éléments sécurisables référencés dans la chaîne EXECUTE. Par exemple, si la chaîne contient une instruction INSERT, l'appelant de l'instruction EXECUTE doit posséder l'autorisation INSERT sur la table cible. Les autorisations sont vérifiées au moment où l'instruction EXECUTE est rencontrée, même si celle-ci est incluse dans un module. Pour plus d'informations, consultez EXECUTE (Transact-SQL).
[Top]
Utilisation de Transact-SQL
Pour exécuter une fonction définie par l'utilisateur
Dans l'Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.
Dans la barre d'outils standard, cliquez sur Nouvelle requête.
Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.
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;
Pour plus d'informations, consultez EXECUTE (Transact-SQL).
[Top]