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
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- La souveraineté numérique commence par avoir le choix de son infrastructure
- Cybersécurité : pourquoi 95% des violations de données sont liées à l’humain, surtout en été
- La blockchain n’est pas seulement un défi à encadrer : c’est aussi une solution à exploiter
- Des Master Data aux data products : comment l’IA redéfinit le rôle du MDM
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
