Comment modifier une fonction SQL Server ?

Comment modifier une fonction SQL Server avec la commande alter function ? Pour modifier une fonction MS SQL existante, le plus efficace est de la changer avec la commande T-SQL ALTER FUNCTION. En effet, la commande ALTER FUNCTION permet de modifier le code de la fonction créée auparavant en une seule étape.

Comment modifier une fonction SQL Server existante avec un script ALTER FUNCTION ?

Après la mise à jour, la fonction ne retourne pas uniquement le nom du client, mais également la ville du client, séparés par un trait. Le code suivant stocke le résultat de la requête dans la variable @NomVilleClient. C’est cette variable qui est retournée au script appelant la fonction.

Modifier une fonction SQL déjà créée dans cet article dans la base de données avec le script suivant.

ALTER FUNCTION dbo.ufnListeClients(@NoClient INTEGER)
RETURNS NVARCHAR(40)
AS 
BEGIN 
  DECLARE    @NomVilleClient AS NVARCHAR(20);
  SELECT    @NomVilleClient = [NOM] + '-' + [VILLE]
  FROM        dbo.CLIENTS
  WHERE        [NOCLIENT] = @NoClient;
  RETURN    @NomVilleClient;
END
GO

Cette requête SQL Serveur met à jour le code d’une fonction existante. Un moyen facile de vérifier que le code fonctionne est de sélectionner tout le code et de le tester en dehors de la fonction.

Ajouter une valeur pour la variable Numéro de Client pour tester le script de manière statique.

Commencer entre le premier BEGIN et le dernier END, puis exécutez-le en utilisant F5.

Par exemple, pour tester la première requête, déclarez la variable @CustomerNumber. Comme dans l’exemple suivant :

DECLARE 	@NoClient  INTEGER = 1;
DECLARE 	@NomVilleClient AS NVARCHAR(20);
SELECT  	@NomVilleClient = [NOM] + '-' + [VILLE]
FROM    	dbo.CLIENTS
WHERE   	[NOCLIENT] = @NoClient;
RETURN  	@NomVilleClient;

Les fonctions définies par l’utilisateur sont, avec les procédures stockées les programmes les plus utilisés en T-SQL.

A noter que pour modifier le code de la fonction SQL Server, le script mis à jour doit également être correct. Sinon, le système affiche une erreur de ce type :

Message d’erreur en Français : Syntaxe incorrecte près du mot-clé ‘RETURN’.

Ou le même message en Anglais : Incorrect syntax near the keyword ‘RETURN’.

Il suffit alors de corriger la syntaxe et de relancer le script via l’interface graphique SSMS ou avec le raccourci F5 qui exécute le script de la fenêtre courante.