无法绑定由多个部分组成的标识符 ,求高手解答

yhjsspz 2013-05-24 04:12:15
PDA_NH.dbo.[TXL_Unit]:

StrongMain_NH.dbo.L05_Unit:




create trigger TXL_Unit_Update
on StrongMain_NH.dbo.L05_Unit
after update
as
begin

update PDA_NH.dbo.[TXL_Unit]
set u.[Unit]=i.[Unit],[Sort]=i.DisplayNo
from inserted i,deleted d left join PDA_NH.dbo.[TXL_Unit] u
on u.[UnitID] = d.[UnitID]

end



实在看不出哪里错了,百度google了好久,求高手帮忙看下
...全文
309 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhjsspz 2013-05-24
  • 打赏
  • 举报
回复
嗯,谢谢啦。。。
szm341 2013-05-24
  • 打赏
  • 举报
回复
引用 5 楼 yhjsspz 的回复:
太感谢了,原来这里也要用别名,用left应该也可以吧,正确是不是直接用join?
你要修改的表就该是主表,如果用外连接的话有些值会被修改成null,建议最好用join 不过这个还要看你的具体业务逻辑
yhjsspz 2013-05-24
  • 打赏
  • 举报
回复
太感谢了,原来这里也要用别名,用left应该也可以吧,正确是不是直接用join?
szm341 2013-05-24
  • 打赏
  • 举报
回复
改成 update u set u.[Unit]=i.[UnitName],[Sort]=i.DisplayNo from inserted i,deleted d left join PDA_NH.dbo.[TXL_Unit] u on u.[UnitID] = d.[UnitID] 不过你要修改u表,但是还用left join关联?逻辑不对吧
yhjsspz 2013-05-24
  • 打赏
  • 举报
回复
之前上面写错了一个字段,改过来还是 消息 4104,级别 16,状态 1,过程 TXL_Unit_Update,第 7 行 无法绑定由多个部分组成的标识符 "u.Unit"。

create trigger TXL_Unit_Update
on StrongMain_NH.dbo.L05_Unit
after update
as
begin
     
update  PDA_NH.dbo.[TXL_Unit]
set  u.[Unit]=i.[UnitName],[Sort]=i.DisplayNo
from inserted i,deleted d left join PDA_NH.dbo.[TXL_Unit] u
on u.[UnitID] = d.[UnitID]
 
end
yhjsspz 2013-05-24
  • 打赏
  • 举报
回复
当修改StrongMain_NH.dbo.L05_Unit这个表的记录时候去更新PDA_NH.dbo.[TXL_Unit]这张表,这里跨了一个数据库
唐诗三百首 2013-05-24
  • 打赏
  • 举报
回复
触发器里的update语句有语法问题. 请问触发器的业务逻辑是什么?没看懂.

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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