日期:2014-05-19  浏览次数:20512 次

请问如何在删除触发器中,根据待删除的记录条件判断是否删除还是不删除该记录?
例如,有一条记录,审核标记为1.
我想在删除触发器中强制不能删除该记录.
可以吗?

------解决方案--------------------
可以。

如果审核标志=1,则rollback tran
------解决方案--------------------
create trigger td_表 on 表
for delete
as
if exists(select 1 from deleted where isnull(审核标志, '0 ')= '1 ')
begin
raiserror( '不能删除已审核数据! ',16,1)
rollback tran
return
end
------解决方案--------------------
create trigger td_表 on 表
instead of delete
as
if not exists(select 1 from deleted where isnull(审核标志, '0 ')= '1 ')
begin
delete from tb_表
end
else
begin
raiserror( '不能删除已审核数据! ',16,1)
end