CREATE TRIGGER trg_d_营业部门 ON [dbo].[营业部门表]
FOR DELETE
AS
if exists(select 1 from 时段表 where 营业部门编码 in(select 营业部门编码 from deleted))
or
exists(select 1 from 大类表 where 营业部门编码 in(select 营业部门编码 from deleted))
or
exists(select 1 from 日促销主表 where 营业部门编码 in(select 营业部门编码 from deleted))
or
exists(select 1 from 时段促销主表 where 营业部门编码 in(select 营业部门编码 from deleted))
or
exists(select 1 from 帐单表 where 营业部门编码 in(select 营业部门编码 from deleted))
begin
rollback tran
end
怎样才能在程序中获得'该纪录不能删除!'的消息
如果删除不成功返回一个参数该如何写触发器,程序如何获得这个参数来显示相应的消息?
FOR DELETE
AS
if exists(select 1 from 时段表 where 营业部门编码 in(select 营业部门编码 from deleted))
or
exists(select 1 from 大类表 where 营业部门编码 in(select 营业部门编码 from deleted))
or
exists(select 1 from 日促销主表 where 营业部门编码 in(select 营业部门编码 from deleted))
or
exists(select 1 from 时段促销主表 where 营业部门编码 in(select 营业部门编码 from deleted))
or
exists(select 1 from 帐单表 where 营业部门编码 in(select 营业部门编码 from deleted))
begin
rollback tran
end
怎样才能在程序中获得'该纪录不能删除!'的消息
如果删除不成功返回一个参数该如何写触发器,程序如何获得这个参数来显示相应的消息?
rollback tran
-------
在程序中用try来捕获这个异常
rollback tran在程序里
try
conn.execute('delete from [营业部门表] where 营业部门编码 = 1');
except
on err:Exception do
ShowMessage(Err.Message);
end;