web-dev-qa-db-fra.com

Est-il possible de surcharger les fonctions SQL Server?

Est-il possible de surcharger une fonction serveur SQL? Soit un scalaire, comme ltrim, ou une fonction d'agrégation, comme count?

Même si c'était vraiment une très mauvaise idée. Est-ce possible?

Un peu en double de surcharge de fonction définie par l'utilisateur T-SQL? Je dirais que ce n'est pas un doublon à 100%, car c'était pour la version 2005. Peut-être que cela a changé?

8
Anthony Genovese

Il n'y a aucun moyen simple de carte-blanche de remplacer une fonction intégrée dans SQL Server.

Vous pouvez en quelque sorte le simuler en créant une fonction avec le même nom dans un schéma différent, puis en appelant cette fonction avec le nom du schéma, comme dans:

SELECT dbo.COUNT(1)
FROM dbo.SomeTable st
GROUP BY st.SomeCol;

Cependant, cela est susceptible de créer plus de confusion qu'il n'en vaut la peine.

10
Max Vernon