SQL Server 2005で非CLRユーザー定義関数を記述したいと考えています。この関数は入力文字列を受け取り、出力文字列を返します。入力文字列が無効な場合は、呼び出し元にエラーを示す必要があります。ユーザー定義関数でのエラー処理
私の最初の考えは、RAISERRORを使用して例外を発生させることでした。ただし、SQL ServerはこれをUDFの内部では許可しません(ただし、CLRベースのUDFで例外を発生させることができます)。
私の最後の手段は、入力値に誤りがある場合は、関数からNULL(またはその他のエラーインジケータ値)を返すことです。
- が
- は、それが使われているので、私は(有効な入力に応じて、NULLを返すことができないようにし、発信者に有益な情報を提供していません:それはしかし、私は、このオプションを好きではありませんエラーコードとして)。
SQL Serverのエラーで機能を停止する呼び出し元に適した方法はありますか?
私はそれほど期待はしましたが、私は尋ねると思っていました。ありがとう。 –
sprocsの問題は、関数を使ってインラインで呼び出すことができないということです。 –
@MikeKに同意します。私がUDFを使用しており、完全なstored_procedureではない全理由は、インライン使用のためです。 新しいバージョンのSQL Serverでこの質問に対する答えが変更されましたか? (例:2016) – ColinMac