SQLServer2008でトリガーを作成しました
CREATE TRIGGER [dbo].[ITEM_UOM_DELETE] ON
[dbo].[ITEM_UOM] INSTEAD OF DELETE
AS
declare @rowc int
set @rowc = (select count(*) from stock, deleted where
item = deleted.itemcode and uom = DELETED.MAINUNIT AND DOCTYPE <> 'OP')
if @rowc > 0
begin
raiserror('Unit is in Use Cannot Delete', 16, 1)
rollback transaction
end
このトリガーを実行すると、エラー出力が表示されます
メッセージ50000、レベル16、状態1、プロシージャITEM_UOM_DELETE、行11
ユニットは使用中です
メッセージ3609、レベル16、状態1、行1を削除できません
トランザクションはトリガーで終了しました。バッチは中止されました。
定義されたエラーのみが必要
使用中のユニットは削除できません
エラーを削除する方法'トランザクションはトリガーで終了しました。バッチは中止されました。」?