加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

关于在MS sqlserver中无法绑定由多个部分组成的标识符问题

发布时间:2020-12-12 14:52:24 所属栏目:MsSql教程 来源:网络整理
导读:?写了个触发器想要在删除一条记录之后对该记录的子表中对应的记录实行状态的更新。 先是这样子写的: create trigger update_sended on OA_GoodsSending After delete as update OA_Commit_Inform_List set SendID = '0' where SendID=deleted.SendID 本来以

?写了个触发器想要在删除一条记录之后对该记录的子表中对应的记录实行状态的更新。

先是这样子写的:

create trigger update_sended on OA_GoodsSending
After delete as
update OA_Commit_Inform_List set SendID = '0' where SendID=deleted.SendID

本来以为这样就可以了,因为进行删除操作的时候被删除的数据都是放在deleted表中的,那就直接使用deleted表吧,谁知道痴线这样的错误:

消息 4104,级别 16,状态 1,过程 update_sended,第?3 行
无法绑定由多个部分组成的标识符 "deleted.SendID"。

?

后来仔细的研究过之后发现,原来deleted表中的数据也是要先选出来的,于是改为

create trigger update_sended on OA_GoodsSending
After delete as
DECLARE @SendID varchar(50)--发放id
select @SendID = SendID from deleted
--print @SendID
update OA_Commit_Inform_List set SendID = '0' where SendID=@SendID

一切搞定!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读