写了个触发器,前台程序报错,求指导

飞扬的雪花 2015-11-21 06:35:26
--修改t_ICItemCustom 表中的自定义字段“F_104”
create TRIGGER kdtr001
ON [dbo].[ICMrpResult]
FOR UPDATE
AS
begin
declare @insertcount int
declare @deletecount int
declare @fitemtype int
declare @newfitemtype int
declare @finterid int
set @fitemtype=(select distinct fitemtype from deleted)
set @finterid=(select distinct FInterID from deleted where FItemType=@fitemtype)
select @insertcount=COUNT(1) from inserted
select @deletecount=COUNT(1) from deleted

--当更新单据类型时
if UPDATE(fitemtype) and 1 in (select fheadselfb0548 from inserted)
begin
select @newfitemtype=fitemtype from inserted

--当单据类型变更为生产任务类时,更改物料中的自定义字段为自制
if(@newfitemtype=11011)
begin
UPDATE a set a.F_104='自制' from ICMrpResult c,t_ICItemCustom a where a.FItemID=c.FItemID and c.FItemType=11011
print(1)
print(@fitemtype)
print(@newfitemtype)


end
--当单据类型为采购申请类时,更改物料中的自定义字段为外购
else if(@newfitemtype=11010)
begin
update a set a.F_104='外购' from ICMrpResult c,t_ICItemCustom a where a.FItemID=c.FItemID and c.FItemType=11010
print(2)
print(@fitemtype)
print(@newfitemtype)

end
--当单据类型为委外加工类时,更改物料中的自定义字段为委外加工
else if(@newfitemtype=11012)
begin
update a set a.F_104='委外加工' from ICMrpResult c,t_ICItemCustom a where a.FItemID=c.FItemID and c.FItemType=11012
print(3)
print(@fitemtype)
print(@newfitemtype)
end
end
end
前台程序执行时,出现报错,如图所示:
...全文
212 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yole 2015-11-23
  • 打赏
  • 举报
回复
出现多对多的情况了,检查一下查询条件。
ks_reny 2015-11-23
  • 打赏
  • 举报
回复
update的语句后面查询的不止一条记录吧,后面的select 语句是不是条件放的宽了,有多条记录。
javon_liu 2015-11-23
  • 打赏
  • 举报
回复
引用 3 楼 javon_liu 的回复:
检查你的查询子句 set @fitemtype=(select distinct fitemtype from deleted) set @finterid=(select distinct FInterID from deleted where FItemType=@fitemtype) select @newfitemtype=fitemtype from inserted 可以返回不止一个值
打错了,可能返回不止一个值
javon_liu 2015-11-23
  • 打赏
  • 举报
回复
检查你的查询子句 set @fitemtype=(select distinct fitemtype from deleted) set @finterid=(select distinct FInterID from deleted where FItemType=@fitemtype) select @newfitemtype=fitemtype from inserted 可以返回不止一个值

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧