标题:在运动员表中建立UPDATE触发器tr1,若更新了运动员表中的运动员编号,则相应 ...
只看楼主
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:95.37%
已结贴  问题点数:20 回复次数:3 
在运动员表中建立UPDATE触发器tr1,若更新了运动员表中的运动员编号,则相应更新比赛积分表的运动员编号。
老师没怎么讲 没有编程的思路 求各位指点


在运动员表中建立UPDATE触发器tr1,若更新了运动员表中的运动员编号,则相应更新比赛积分表的运动员编号。
  match_score是积分表 player_no 是运动员编号, pro_no是项目编号 score 是积分
  ath_man是运动员表 ath_no是运动员编号,ath_name是运动员姓名,ath_sex是运动员性别,ath_major是运动员专业


[此贴子已经被作者于2017-5-25 21:43编辑过]

搜索更多相关主题的帖子: 运动 表中 更新 编号 积分 
2017-05-25 21:40
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:20 
-- 触发器tr1,若更新了运动员表中的运动员编号,则相应更新比赛积分表的运动员编号。
-- 运动员表(ath_man),运动员编号(ath_no),运动员姓名(ath_name),运动员性别(ath_sex),运动员专业(ath_major)
-- 积分表(match_score),运动员编号(player_no),项目编号(pro_no),积分(score)

/*
-- 如下列子,测试数据,只运行1次
-- 运动员(编号 varchar(6),姓名 varchar(20))
-- 成绩表(编号 varchar(6),项目 varchar(20),成绩 numeric(5,2))

create table 运动员(编号 varchar(6),姓名 varchar(20))
insert into 运动员(编号,姓名)
select '1001','张三' union all
select '1002','李四' union all
select '1003','王五'

create table 成绩表(编号 varchar(6),项目 varchar(20),成绩 numeric(5,2))
insert into 成绩表(编号,项目,成绩)
select '1001','跳舞',80.00 union all
select '1001','武术',90.50 union all
select '1002','跳舞',85.00 union all
select '1002','武术',95.00 union all
select '1003','跳舞',70.50 union all
select '1003','武术',75.50

*/
go

/*
--建立触发器,也只运行1次

create trigger 运动员_tr1
 On 运动员   --在那个表触发
 for Update --在什么事件触发
 As         --触发后做什么事情
 if Update(编号) --更新编号时才做事情,Deleted 是更新前的临时表,Inserted 是更新后的临时表
    begin
      update 成绩表 set 编号=i.编号 from 成绩表 c,Deleted d,Inserted i
      where c.编号=d.编号
    end
*/

go

-- 测试更新
update 运动员 set 编号='B1001' where 编号='1001'

select * from 运动员
select * from 成绩表




2017-05-29 11:40
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
2楼
第1次运行时,先把 所有的 /*,*/去掉
第2次运行时,就是2楼的内容
2017-05-29 11:42
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
得分:0 
回复 2楼 mywisdom88
好的谢谢你
2017-05-30 17:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477369-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053485 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved