sql >> Base de Datos >  >> RDS >> Sqlserver

Ejecutar SQL dinámico en una función SQLServer 2005

"Normalmente" no se puede hacer ya que SQL Server trata las funciones como deterministas, lo que significa que para un conjunto dado de entradas, siempre debe devolver las mismas salidas. Un procedimiento almacenado o SQL dinámico puede ser no determinista porque puede cambiar el estado externo, como una tabla, en la que se confía.

Dado que en el servidor SQL las funciones siempre son deterministas, sería una mala idea desde una perspectiva de mantenimiento futuro intentar eludir esto, ya que podría causar una gran confusión para cualquiera que tenga que admitir el código en el futuro.