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;
}
}
だから私の質問です:番号2627または2601の例外を作成するために、私のトリガ内で RAISERROR
を使用できますか?