トリガーを持つビューがありINSTEAD OF INSERT
ます (SQL Server 2005)。ユーザーがビューに挿入するとき、実際には多くのテーブルに対して挿入と更新を行っています。ビューはインデックスを持つことができないほど複雑であるため、残念ながら制約がありません。
ビューは、変更が問題となるコードを使用して C# から挿入されています。このコードは、以下を使用して主キー違反と一意キー違反をキャッチします。
try
{
... // Insert into view
}
catch (SqlException ex)
{
if (ex.Number == 2627 || ex.Number == 2601) // Primary key exception, unique constraint violation
{
... // Report the duplicate entry to the user
}
else
{
throw;
}
}
私の質問は次のとおりです。RAISERROR
トリガー内で使用して、番号 2627 または 2601 の例外を作成できますか?