提示:
create trigger tr_tab_insert
on tab
for insert
as
if exists (select 存货编码 from inserted group by 存货编码 having count(*)>1)
BEGIN
RAISERROR ('不许出现相同的存货编码.', 16, 1)
ROLLBACK TRANSACTION
ENDgo
create trigger tr_tab_insert
on tab
for insert
as
if exists (select 存货编码 from inserted group by 存货编码 having count(*)>1)
BEGIN
RAISERROR ('不许出现相同的存货编码.', 16, 1)
ROLLBACK TRANSACTION
ENDgo
create trigger tr_tab_insert
on tab
INSTEAD OF insert
as
insert tab(存货编码,数量)
select 存货编码,sum(数量) as 数量
from inserted
group by 存货编码
go
在插入前加个判断即可:if exist(select 1 from ...)
这样可以比较方便对错误信息做统一管理。
我发现在插入2条记录时
存货编码 数量
S1 10
S1 20
每插一条几触发一次触发器,所以inserted表中的count(*)总是为1,这样就不可以与其他行进香进行判断了,这怎么办啊