Comment Appeler une Fonction SQL Server ?

Comment appeler des fonctions SQL Server depuis des scripts Transact-SQL ?

Tutoriel sur comment utiliser une fonction SQL Server avec des scripts T-SQL, avec ou sans paramètres. En effet, la syntaxe T-SQL pour appeler une fonction diffère de celle pour appeler une procédure stockée. Utilisez la fonction SQL Server de la même manière que vous sélectionnez des données depuis une table. Apprendre à appeler une fonction SQL Server définie par l’utilisateur avec un script T-SQL est essentiel pour optimiser la maintenance de votre base de données et faciliter la manipulation des données.

Dans ce tutoriel SQL, nous examinerons comment utiliser une fonction définie par l’utilisateur et comment personnaliser la sortie de la fonction pour répondre à des besoins spécifiques. Une fonction SQL Server définie par l’utilisateur est un programme Transact-SQL qui accepte des paramètres d’entrée. Lorsqu’elle est appelée, elle effectue des actions, telles que la lecture d’une table SQL Server, et retourne un résultat de sortie.

1. Le paramètre d’entrée n’est pas obligatoire dans une fonction SQL Server

Une fonction n’a pas nécessairement besoin d’un paramètre d’entrée. Cependant, une fonction SQL Server définie par l’utilisateur retourne des données, qui peuvent être un ensemble de résultats vide, une seule ligne ou plusieurs colonnes. Par exemple, appelons la fonction créée dans ce tutoriel pour créer une fonction MS SQL avec un script. Par exemple, si vous appelez la fonction intégrée pour afficher la date dans SQL Server, le système retourne la date actuelle.

SELECT GETDATE();

2. Le résultat de sortie est obligatoire dans les fonctions T-SQL

En effet, une fonction est définie par le fait qu’elle retourne un résultat. Pour appeler une fonction, ouvrez SSMS et adaptez le code de la fonction si nécessaire. Considérez ce script pour créer une fonction appelée dbo.ufnDisplayCustomers en T-SQL :

CREATE FUNCTION dbo.ufnDisplayCustomers(@CustomerID INTEGER)
RETURNS NVARCHAR(20)
AS 
BEGIN 
  DECLARE @CustomerName  AS NVARCHAR(20);
  SELECT  @CustomerName = [Name]
  FROM    [dbo].[Customers]
  WHERE   [CustomerID] = @CustomerID;
  RETURN  @CustomerName;
END
GO

Pour appeler une fonction SQL Server, utilisez la syntaxe suivante :

SELECT dbo.FunctionName(Parameters);

La fonction ci-dessous affiche le nom d’un client associé au numéro de client passé en paramètre. Bien sûr, nous supposons que vous avez une table avec au moins ces deux colonnes, comme dans l’exemple.

  1. CustomerID
  2. Name
/* Expert-Only.com */ 
SELECT [CustomerID]
      ,[Name]
  FROM [Expert-Only].[dbo].[Customers];


/* Expert-Only.com */ 
SELECT dbo.ufnDisplayCustomers(1);
Exemple de requête pour appeler une fonction SQL Server depuis T-SQL
Exemple de requête pour appeler une fonction SQL Server en T-SQL

3. Appeler une fonction SQL Server et renommer la colonne de sortie

Avec ce deuxième exemple d’appel, nous pouvons également renommer la colonne de résultat pour personnaliser la sortie. Pour ce faire, utilisez la syntaxe générique ci-dessous :

SELECT dbo.FunctionName(Parameters) AS [NewColumnName];

Voici un exemple pratique, utilisant les données des clients, donc la fonction est utilisée pour afficher le nom des clients en fonction de l’ID client, puis la colonne de résultat est renommée en CustomerName, de la même manière que les colonnes sont renommées dans les requêtes SELECT de SQL Server.

SELECT dbo.ufnDisplayCustomers(1) AS [CustomerName]; 

Dans cet autre tutoriel, nous expliquons comment modifier une fonction SQL Server existante. Pour des informations plus approfondies et officielles sur les fonctions utilisateurs SQL Server, lisez directement la documentation MS sur le site de Microsoft. La documentation en anglais est généralement plus riche et plus complète que dans d’autres langues, y compris le français. Le forum officiel Microsoft sur les bases de données et les pages de support en anglais sont également beaucoup plus actifs que dans d’autres langues.

À propos de l’appel des fonctions SQL Server depuis des scripts T-SQL

En conclusion, nous avons vu comment appeler une fonction SQL Server à partir d’un script T-SQL, c’est une opération nécessaire pour optimiser et surtout réutiliser efficacement le code dans votre base de données. Ce tutoriel vous a montré comment créer, appeler et personnaliser les fonctions SQL Server. En maîtrisant ces techniques, vous pourrez tirer le meilleur parti de votre base de données SQL Server et améliorer significativement la performance de vos applications.