数据库触发器
答案:2 悬赏:40
解决时间 2021-03-21 21:50
- 提问者网友:我喜歡係
- 2021-03-21 17:47
建立一个学生成绩管理系统,有学生信息表(学号,姓名,性别,班级),课程表(课程号,课程名,老师),和成绩表(学号,课程号,成绩),要使在学生信息表里删除信息后,它所对应的成绩表里的信息也删除,请问怎样建立一个触发器呢
最佳答案
- 二级知识专家网友:颜值超标
- 2021-03-21 17:54
create or replace trigger TRG_DELETE_COUNT before delete on STUDENT
for each row
BEGIN
DELETE FROM 成绩表 where 成绩表.学号=:old.学号;
COMMIT;
END;
想要实现类似的功能,不一定要用触发器的,可以设置两个表的主键和外键,设置级联删除关系,删除主键时,外键表中的记录也会自动删除。
for each row
BEGIN
DELETE FROM 成绩表 where 成绩表.学号=:old.学号;
COMMIT;
END;
想要实现类似的功能,不一定要用触发器的,可以设置两个表的主键和外键,设置级联删除关系,删除主键时,外键表中的记录也会自动删除。
全部回答
- 1楼网友:无字情书
- 2021-03-21 18:50
一个数据库的事务可由若干个嵌套子事务组成,因为所有事务都具有原子性,也就是说如果一个事务t中的某个嵌套子t1事务失败了,则该事务t整个都必须回滚,当然也包括事务t中那些已经执行成功的其他嵌套子事务。
因为触发器本是一个隐含的事务,所以,触发器中的任一嵌套子事务如果失败都必须回滚整个触发器对应的事务。
以上仅是我的看法,仅供参考。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯