Partager via


Exécuter des fonctions définies par l’utilisateur

Vous pouvez exécuter une fonction définie par l’utilisateur dans SQL Server 2014 à l’aide de Transact-SQL.

Dans cette rubrique

Avant de commencer

Limitations et restrictions

Dans Transact-SQL, les paramètres peuvent être fournis à l’aide de la valeur ou de @parameter_name=valeur. Un paramètre ne fait pas partie d’une transaction ; Par conséquent, si un paramètre est modifié dans une transaction qui est restaurée ultérieurement, la valeur du paramètre ne revient pas à sa valeur précédente. 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)

Utilisation de Transact-SQL

Pour exécuter une fonction définie par l'utilisateur

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. 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).