关于SQL Server触发器的问题

jilate jilate 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我希望在插入新的数据或者修改的时候,有个计划号,这个不能冲突。
我用了自增字段做主键,我用触发器来控制,触发器很简单代码如下
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语句执行前触发的吗?
例如我随意修改一个计划单号,他都会提示,我新增,也会出现这个提示。哪怕号码不重复。
以前不会这样的啊,是不是哪里设置问题啊?
谢了
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
jilate
MS-SQL Server 34,876 成员 254,635 内容