首页 新闻 搜索 专区 学院

删除触发器里加一个更新操作,出现错误

0
悬赏园豆:10 [已解决问题] 解决于 2015-07-08 09:51

表说明:会员表 HX_USER  主键 会员编号 U_ID  U_NAME(会员名)

     报名表 HX_ACTUSER 包含字段 U_ID (会员ID) HD_ID (活动ID)

    活动表 HX_ACT  包含字段  HD_ID (活动ID)HD_NAME(活动名)HD_NUMPOST(报名人数)

目的:如上表,我想在删除一个会员的时候,同时删除这个会员在报名表中的记录,并将活动表中这个会员所报名的活动,它所对应的报名人数减去1. 

代码:

  create trigger [dbo].[tri_user_delete]

  on [dbo].[HX_USER]

  for delete

  as

  begin

    delete HX_ACTUSER 
    from HX_ACTUSER h,deleted d
    where h.U_ID = d.U_ID

    UPDATE HX_ACT set HD_NUMPOST = HD_NUMPOST-1 where HD_ID IN (select HD_ID FROM HX_ACTUSER where U_ID = d.U_ID)

  end

报错: 无法绑定由多个部分组成的标识符 "d.U_ID"

问题:请问怎么写,让编译器知道,我要更新的报名记录?

zee89757的主页 zee89757 | 初学一级 | 园豆:193
提问于:2015-03-14 14:39
< >
分享
最佳答案
0

UPDATE HX_ACT set HD_NUMPOST = HD_NUMPOST-1 where HD_ID IN (select HD_ID FROM HX_ACTUSER where U_ID = deleted.U_ID)

收获园豆:10
清海扬波 | 小虾三级 |园豆:852 | 2015-03-16 14:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册