Oracle触发器实现表中有数据就插到另一张表中,(这个数据是定时器获取的)。然后再将此表中数据删 70

Oracle触发器实现表中有数据就插到另一张表中,(这个数据是定时器获取的)。然后再将此表中数据删除,有大神吗?最好有实例说明,急。... Oracle触发器实现表中有数据就插到另一张表中,(这个数据是定时器获取的)。然后再将此表中数据删除,有大神吗?最好有实例说明,急。 展开
 我来答
匿名用户
2016-03-23
展开全部
这个你得建插入、删除和更新三种触发器。
create trigger tr_in_选课表 on 选课表
FOR INSERT
as
update 课程表 set 选课人数=选课人数+1 where 课程编号=(select 课程编号 from inserted)
go
--删除的,删除时那就要减1
create trigger tr_del_选课表 on 选课表
FOR DELETE
AS
update 课程表 set 选课人数 = 选课人数-1 where 课程编号=(select 课程编号 from deleted)
GO

--更新选课表的时候
create trigger tr_up_选课表 on 选课表
FOR update
as
----如果更新的是课程编号,即本来先的是英语,后来改数学了
if update(课程编号) begin
update 课程表 set 选课人数=选课人数-1 where 课程编号=(select 课程编号 from deleted)
update 课程表 set 选课人数=选课人数+1 where 课程编号=(select 课程编号 from inserted)
---第一行把旧编号的选课人数-1
--第二行把新编号的选课人数+1
end
--- 大体上就是这么一个逻辑,自己再稍微按需完善一下即可。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式