• 主页
  • 基础类
  • 应用实例
  • 新技术前沿

触发器的使用方法

Lstevev 泉州市丰泽广场新华都信息中心 2005-03-19 10:07:31
有三个表:ygxq(ygh,ygm,depart,...),ygkq(ygh,qjts,qjss),gjb(ygh,jbgj,jj,...)
请问如何建立一个触发器当ygxq表中的ygh字段有更新时,ygkq和gjb也同时更新。另外,请详细说一下触发器的使用方法。谢谢!!!
...全文
90 点赞 收藏 4
写回复
4 条回复
xluzhong 2005年03月21日
相关内容请看联机帮助
create trigger
回复 点赞
xluzhong 2005年03月21日
create trigger t
on ygxq
for update
as
if update(ygh)
begin
update ygkq set ygh=i.ygh from ygkq a,inserted i inner join deleted d on a.ygh=d.ygh
update gjb set ygh=i.ygh from gjb a,inserted i inner join deleted d on a.ygh=d.ygh
end

go
回复 点赞
deyangwangyu 2005年03月21日
更新就是这样了。我也是今天晚上才开始研究触发器的。你要了解触发器的使用方法看看sqlserver的帮助文件就可以了解个大概了。

另外当你这三个表有关系,ygh又是主键的时候,更新ygh会引发约束错误。
我是在表关系中取消了“对insert和update强制关系”选项才能更新。
请问高手们这样处理对吗?
回复 点赞
deyangwangyu 2005年03月21日
CREATE TRIGGER Tygh ON ygxq
FOR UPDATE
AS
declare @ygh varchar(50),
@ygh_old varchar(50)
select @ygh=ins.ygh from inserted ins
select @ygh_old=del.ygh from deleted del
update ygkq set ygh = @ygh where ygh = @ygh_old
update gjb set ygh = @ygh where ygh = @ygh_old
回复 点赞
发动态
发帖子
MS-SQL Server
创建于2007-09-28

1.4w+

社区成员

25.3w+

社区内容

MS-SQL Server相关内容讨论专区
社区公告
暂无公告