Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Exécution de SQL dynamique dans une fonction SQL Server 2005

Cela "normalement" ne peut pas être fait car SQL Server traite les fonctions comme déterministes, ce qui signifie que pour un ensemble donné d'entrées, il doit toujours renvoyer les mêmes sorties. Une procédure stockée ou SQL dynamique peut être non déterministe car elle peut modifier un état externe, tel qu'une table, sur laquelle on s'appuie.

Étant donné que les fonctions du serveur SQL sont toujours déterministes, ce serait une mauvaise idée du point de vue de la maintenance future d'essayer de contourner cela car cela pourrait causer une confusion assez importante pour quiconque devra prendre en charge le code à l'avenir.