ドキュメントで読んだように、例外が発生すると @@Error グローバル変数が設定されます。例: 外部キー違反など。
サンプル手順があるとしましょう:
Create Procedure someName
Begin
Insert Into something...
return @@Error
End
いつ例外が発生したか知りたいのですが、リターン@@Error
は実行されますか? catch
または、C# コードのブロックにコントロールが入りますか? @@Error
本当に混乱します。外部キーが違反してもエラーがスローされない場合、なぜ SQL Server に Try Catch があるのでしょうか?