9

SQL Server 2005 で CLR 以外のユーザー定義関数を記述したいと考えています。この関数は入力文字列を受け取り、出力文字列を返します。入力文字列が無効な場合は、呼び出し元にエラーを示したいと思います。

私が最初に考えたのは、RAISERROR を使用して例外を発生させることでした。ただし、SQL Server では UDF 内でこれを行うことはできません (ただし、CLR ベースの UDF では例外を発生させることができます)。

私の最後の手段は、入力値がエラーの場合、関数から NULL (またはその他のエラー インジケーター値) を返すことです。ただし、次のように、このオプションは好きではありません。

  1. 発信者に有用な情報を提供しません
  2. 有効な入力に対して NULL を返すことはできません (エラー コードとして使用されているため)。

SQL Server でエラーが発生したときに関数を停止する呼び出し元に優しい方法はありますか?

4

2 に答える 2