Ich schreibe eine benutzerdefinierte Funktion in SQL Server 2008. Ich weiß, dass Funktionen nicht auf die übliche Weise Fehler auslösen können - wenn Sie versuchen, die RAISERROR-Anweisung einzuschließen, die SQL zurückgibt:
Msg 443, Level 16, State 14, Procedure ..., Line ...
Invalid use of a side-effecting operator 'RAISERROR' within a function.
Tatsache ist jedoch, dass die Funktion einige Eingaben benötigt, die möglicherweise ungültig sind, und wenn dies der Fall ist, gibt es keinen aussagekräftigen Wert, den die Funktion zurückgeben kann. Was mache ich dann?
Ich könnte natürlich NULL zurückgeben, aber es wäre für jeden Entwickler schwierig, die Funktion zu verwenden, um dies zu beheben. Ich könnte auch eine Division durch Null oder so etwas verursachen - dies würde eine Fehlermeldung erzeugen, aber eine irreführende. Gibt es eine Möglichkeit, meine eigene Fehlermeldung irgendwie melden zu lassen?