Limitaciones en las funciones de SQL Server

Las funciones de usuario de SQL Server tienen bastantes limitaciones comparadas con otras funciones de otras bases de datos, como Oracle, o con lo que se puede hacer en los procedimientos almacenados.

Las principales limitaciones, bajo mi punto de vista, son estas dos:

  • Dentro de una función de SQL Server no se pueden ejecutar sentencias de actualización de datos como INSERT, UPDATE o DELETE, es decir, que una función de usuario NO puede modificar valores de las tablas de una base de datos.
  • Las funciones de T-SQL no permiten el tratamiento de excepciones con bloques TRY CATCH

Es importante recordar estas limitaciones antes de comenzar a desarrollar funciones personalizadas, porque es bastante habitual terminar creando un procedure porque alguna cosa no se puede hacer o controlar con una función.

¿Conoces más limitaciones de las funciones de usuario de TSQL?