社区
疑难问题
帖子详情
如何用触发器在修改A表的一列后,B表的一列也更新
eagleweng
2003-03-26 04:38:24
create table a(ac1 char(20) PRIMARY KEY, ac2 char(1),ac3 int)
create table b(bc1 char(20) PRIMARY KEY, bc2 int )
当A表中的ac2的值由0变为1的时,b表的bc2的值为:bc2= bc2 - ac3
这个触发器该怎么写?
...全文
112
5
打赏
收藏
如何用触发器在修改A表的一列后,B表的一列也更新
create table a(ac1 char(20) PRIMARY KEY, ac2 char(1),ac3 int) create table b(bc1 char(20) PRIMARY KEY, bc2 int ) 当A表中的ac2的值由0变为1的时,b表的bc2的值为:bc2= bc2 - ac3 这个触发器该怎么写?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pengdali
2003-03-26
打赏
举报
回复
CREATE TRIGGER 名 ON a
FOR UPDATE
AS
update b set bc2=b.bc2-a.ac3 from inserted a,deleted c where a.ac1=b.bc2 and a.ac1=c.ac1 and c.ac2=0 and a.ac2=1
pengdali
2003-03-26
打赏
举报
回复
CREATE TRIGGER 名 ON a
FOR UPDATE
AS
update b set bc2=b.bc2-a.ac3 from inserted a where a.ac1=b.bc2 and a.ac2=1
yoki
2003-03-26
打赏
举报
回复
漏了
create trigger ss
on a
for update
as
update b set bc2=bc2-inserted.ac3 where deleted.ac2=0 and inserted.ac2=1
yoki
2003-03-26
打赏
举报
回复
create trigger ss
on a
for update
as
update b set bc2=bc2-deleted.ac3 where deleted.ac2=1
CrazyFor
2003-03-26
打赏
举报
回复
http://expert.csdn.net/Expert/topic/1578/1578364.xml?temp=.3419001
触发器
两
表
同步
更新
转自 http://hi.baidu.com/j2eespace/blog/item/ae5f89afb117acfffbed501e.html 我平时比较少用
触发器
,主要是因为程序逻辑不对的时候不容易发现错误,有时数据量大了也可能产生性能上的问题,但这个东西总有用武之地,在很多场合还是会起到巨大的作用。 这两天就遇到一个问题,有两张
表
的一个字段需要进行同步
更新
,
A关联B
表
派生C
表
C随着A,B 的
更新
而
更新
摘要: 本篇写的是
触发器
和外键约束 之所以用这个标题而没用
触发器
或者外键约束的原因, 1、是因为在做出这个需求之前博主是对
触发器
和外键约束丝毫理不清楚的,所以这也是打算写博客的主要原因——在解决完工作需求后,通过博客梳理整个解决问题的思路,加深记忆的同时,也相当于给自己做一份线上笔记,方便以后取用。 2这个标题比较接地气,因为老板就是这样给我提需求的 先说需求: A关联B
表
派生C
表
C随着A,B ...
Oracle实现把B
表
某一字段
更新
到A
表
如何把B
表
中某一字段值
更新
到A
表
?从而实现两张
表
的数据同步!
SQL Server 如何创建
触发器
实现一张
表
数据
更新
时,同步增加、删除、
修改
另一张
表
的数据
一、
触发器
知识点摘要: 实际应用中,我们经常会遇到在对SQLServer的某一张
表
进行增加、删除、
修改
操作时,需同步
更新
同一数据库或不同数据库的另一张
表
,此时我们可以使用SQLServer的
表
触发器
来实现。 使用
触发器
时,我们会用到
触发器
的两个临时虚拟
表
:Deleted
表
、Inserted
表
,它们用于存储【创建
触发器
表
】的记录变动信息,即发生触发事件时对应的【一条旧记录】和【一条新记录】,各触发事件对应
表
数据如下:
表
触发事件 虚拟
表
Inserted 虚拟
表
Deleted ...
表
A和
表
B有相同的记录,创建
触发器
实现
表
A
更新
任何字段的数据后把数据同步
更新
B
表
的相同记录
TableB.LastUpdated = GETDATE() – 假设有一个跟踪最后
更新
时间的列。–TableB.LastUpdated = GETDATE() – 假设有一个跟踪最后
更新
时间的列。– 依此类推,为每个需要同步的列添加设置语句。– 依此类推,为每个需要同步的列添加设置语句。– 下面的条件用于检查任何列是否发生了变化。– 下面的条件用于检查任何列是否发生了变化。
疑难问题
22,296
社区成员
121,726
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章