Création et gestion des fonctions utilisateur (scalar, table-valued)

SQL Server permet également de définir des fonctions utilisateur pour encapsuler des calculs réutilisables ou des opérations de manipulation des données. Il existe deux types de fonctions utilisateur : scalar et table-valued.

7.3.1 Fonctions scalaires

Les fonctions scalaires renvoient une seule valeur. Elles sont souvent utilisées dans des requêtes SQL pour calculer ou transformer des données.

Exemple :

CREATE FUNCTION CalculerTaxe (@Salaire DECIMAL(10, 2))
RETURNS DECIMAL(10, 2)
AS
BEGIN
    RETURN @Salaire * 0.15;
END;

Utilisation dans une requête :

SELECT Nom, Prenom, Salaire, dbo.CalculerTaxe(Salaire) AS Taxe
FROM Employes;

7.3.2 Fonctions table-valued

Les fonctions table-valued renvoient une table de résultats, ce qui les rend très utiles pour encapsuler des requêtes complexes.

Exemple de fonction qui renvoie une table de résultats :

CREATE FUNCTION ObtenirEmployesParDepartement (@DepartementID INT)
RETURNS TABLE
AS
RETURN (
    SELECT EmployeID, Nom, Prenom, Salaire
    FROM Employes
    WHERE DepartementID = @DepartementID
);

Utilisation dans une requête :

sqlCopier le codeSELECT * FROM dbo.ObtenirEmployesParDepartement(2);

Last updated