关于SQL Server触发器的问题
我希望在插入新的数据或者修改的时候,有个计划号,这个不能冲突。
我用了自增字段做主键,我用触发器来控制,触发器很简单代码如下
CREATE trigger trg_CheckRepeatNo
on t_Plan
for insert,update
as
declare @NewNo varchar(50)
select @NewNo = PlanNo from inserted
if exists(select * from t_Plan where PlanNo = @NewNo)
begin
raiserror('存在重复的投料单号',16,1)
end
但是发生问题的是,我无论修改什么值,都会提示已经存在重复的投料单号
for语句不是应该在sql语句执行前触发的吗?
例如我随意修改一个计划单号,他都会提示,我新增,也会出现这个提示。哪怕号码不重复。
以前不会这样的啊,是不是哪里设置问题啊?
谢了