エラー メッセージから実際のストアド プロシージャの行番号を取得するにはどうすればよいでしょうか? 質問する

エラー メッセージから実際のストアド プロシージャの行番号を取得するにはどうすればよいでしょうか? 質問する

SQL Server を使用しているときにエラーが発生すると、エラー メッセージにはストアド プロシージャ内の行番号とは関係のない行番号が表示されます。この違いは空白とコメントによるものだと思いますが、本当にそうでしょうか。

これら 2 つの行番号セットを相互に関連付けるにはどうすればよいですか? 誰かが私に少なくとも正しい方向を指し示してくれると本当にありがたいです。

SQL Server 2005 を使用しています。

ベストアンサー1

私の記憶が正しければ、そのプロシージャを作成したバッチの開始から行のカウントを開始します。つまり、スクリプトの開始、または create/alter proc ステートメントの前の最後の "GO" ステートメントのいずれかを意味します。

それを確認する簡単な方法は、SQL Serverがオブジェクトを作成するときに使用した実際のテキストを取得することです。出力をテキストモード(デフォルトのキーマッピングでCTRL-T)に切り替えて、

sp_helptext proc_name

結果をスクリプト ウィンドウにコピーして貼り付けると、構文の強調表示などが表示され、goto line 機能 (CTRL-G だと思います) を使用して、報告されたエラー行に移動します。

おすすめ記事