Les fonctions et procédures cataloguées système sont pratiques. Un de leurs avantages en particulier est que l'on peut les utiliser dans toute base de données sans avoir à les qualifier entièrement. Bien qu'elles résident dans la base de données Master, on peut appeler les procédures cataloguées et les fonctions système
Créer des fonctions système
depuis
toute base de données, et elles fonctionneront comme si elles se trouvaient dans
cette base de données.
En quoi cet avantage nous concerne-t-il ? De nombreux programmeurs SQL apprécient
le fait de pouvoir créer leurs propres procédures cataloguées système. Désormais,
on peut aussi créer ses propres fonctions système (c’est-à -dire des fonctions
que l’on peut invoquer depuis toute base de données, et que l’on n’a pas besoin
de qualifier avec la base de données source ni même le nom du propriétaire). NB
: Souvenez-vous que les UDF classiques doivent être qualifiées avec le nom du
propriétaire pour être résolues.
La création d’une UDF système se déroule en deux étapes. Premièrement, il faut
créer la fonction dans la base de données Master. Utilisez le préfixe fn_ pour
nommer la fonction. Après avoir créé cette dernière, utilisez la procédure cataloguée
système sp_changeobjectowner pour remplacer le nom du propriétaire de la fonction
par system_function_schema. Si on suit ces étapes, on peut appeler la fonction
depuis n’importe quelle base de données se trouvant sur la machine SQL Server.
Pour illustrer ce processus, réexaminons le premier exemple de fonction du présent
article, qui ressemblait à ceci :
CREATE FUNCTION DayOnly(@Date datetime)
RETURNS varchar(12)
AS
BEGIN
RETURN CONVERT(varchar(12), @Date, 101)
END
A présent, utilisons une commande DROP classique sur cette fonction :
DROP FUNCTION dbo.DayOnly
Puis, réexécutons le script CREATE FUNCTION, en substituant Master à la base de
données courante, le nom incluant le fn_ préfixe, et le propriétaire étant system_function_schema.
Le listing 9 présente le code correspondant. Cette fonction va ramener la date
courante, même si on se trouve dans une base de données différente de celle dans
laquelle on a créé la fonction, et que l’on n’a pas qualifié cette base de données
avec le propriétaire.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Afficher les icônes cachées dans la barre de notification
- Activer la mise en veille prolongée dans Windows 10
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
Les plus consultés sur iTPro.fr
- IA et cybersécurité : les entreprises françaises acceptent plus de risques qu’elles ne savent les contrôler
- Infrastructures critiques : la France redoute les attaques dopées à l’IA, mais peine à unifier sa sécurité IT/OT
- Les Assises 2026 : encore plus d’énergie pour poursuivre le chemin
- Agents IA : arrêtons de leur confier nos secrets
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
