这个触发器如何写

dawnming 2003-10-18 05:31:19
这个触发器如何写
A表
a b
tom 1
alick 2
B表
c d
df tom
dfd tom
d alick
当修改A表中a字段的内容时,把B表中d字段相应的内容修改,比如我修改了A表中的tom为tam则B表中所有tom 的地方都变成tam
...全文
69 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdhdy 2003-10-18
  • 打赏
  • 举报
回复
只是一个值啊,如 tom
yujohny 2003-10-18
  • 打赏
  • 举报
回复
select a from inserted这句出来的是一个记录集,肯定不能用=号啊
sdhdy 2003-10-18
  • 打赏
  • 举报
回复
更新多条记录,每更新一条记录时,就触发触发器一次,所以deleted和insered表里,分别只有一条记录
sdhdy 2003-10-18
  • 打赏
  • 举报
回复
不会的
yujohny 2003-10-18
  • 打赏
  • 举报
回复
假如更新多条记录,那你d=(select a from inserted) 这句不是出错
yujohny 2003-10-18
  • 打赏
  • 举报
回复
create trigger tri1 on A表
for update
as
update B表 set d=(select a from inserted where a=B表.d)
from deleted b where B表.d=b.a
sdhdy 2003-10-18
  • 打赏
  • 举报
回复
不需要知道A表的主键
sdhdy 2003-10-18
  • 打赏
  • 举报
回复
--mnidfy
create trigger tri1 on A表
for update
as
update B表 set d=(select a from inserted) from deleted b where B表.d=b.a
yujohny 2003-10-18
  • 打赏
  • 举报
回复
A表的主键是什么????
sdhdy 2003-10-18
  • 打赏
  • 举报
回复
create trigger tri1 on A表
for update
as
update B表 set d=(select a from inserted) deleted b where B表.d=b.a
txlicenhe 2003-10-18
  • 打赏
  • 举报
回复
create trigger triggerName on a表
For Update
As
update b set b.d = a.a
from inserted a join b表 b on a.a = b.d

34,575

社区成员

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

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