> Tech > Créer des fonctions système

Créer des fonctions système

Tech - Par iTPro - Publié le 24 juin 2010
email

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

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 gratuitement cette ressource

Le Guide d’Orchestration du Parcours client

Le Guide d’Orchestration du Parcours client

Au-delà de la clarification des nouveaux concepts de gestion du parcours client, ce guide vous permettra de définir, créer et mettre œuvre une orchestration complète articulée autour des trois volets essentiels au succès de l’expérience client et de l’entreprise.

Tech - Par iTPro - Publié le 24 juin 2010