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

Manejo de errores en funciones definidas por el usuario

Parece que las UDF de SQL Server están un poco limitadas de esta (y muchas otras) formas.

Realmente no puedes hacer mucho al respecto, así es (por ahora) las cosas. Puede definir su UDF para que pueda devolver una señal de una condición de error por medio de su valor de retorno (por ejemplo, devolver NULL en caso de un error), o entonces casi tendría que recurrir a escribir un procedimiento almacenado en su lugar, que puede tener mucho más manejo de errores y permite RAISERROR y demás.

Entonces, diseñe su UDF para que no requiera una señalización específica de las condiciones de error, o luego debe rediseñar su enfoque para usar procedimientos almacenados (que pueden tener múltiples parámetros de SALIDA y, por lo tanto, también pueden devolver un código de error junto con su carga útil de datos, si necesita eso), o el código CLR administrado para sus UDF.

Lo siento, no tengo una idea mejor. Por ahora, me temo que esas son sus opciones. Haga su elección.

Marc