私は SQL Server 2005 を使用しています。作成したストアド プロシージャはほとんどの場合機能しますが、必要な動作をしないインスタンスが見つかりました。
現在、コードは次のようなことを行います
if @@error <> 0
begin
select @message_error = "There was a database error adding product "+ @product + " to product line
end
@message_error
は出力変数です。
したがって、select @@error
数値を取得することはできますが、本当に必要なのは SQL エラーだけです。
この列などに fk 制約があるため、これを行うことができませんでした。msdn http://msdn.microsoft.com/en-us/library/ms178592(v=sql.90).aspxでこの記事を見つけました
しかし、それは でカスタム例外をスローするだけRAISERROR
です。独自のエラー メッセージや例外を作成したくありません。機能しない理由を知りたいだけです。Management Studio を使用してストアド プロシージャを実行し、正確な SQL エラーを確認できますが、サイトのデータを照合して手動で挿入するのは面倒です。
SQL エラー テキストを出力変数に取得するにはどうすればよいですか?