如何在另一个表中进行更改时如何自动更新SQL表?

时间:2015-05-27 14:55:17

标签: sql database derby

我有一些包含某些实体的事件管理系统数据库。其中两个是活动和门票。在Events中,我有maxTickets,它包含事件的最大票数。我的问题是如何在Tickets表中为特定事件添加那些“maxTickets”?我已将EventID作为Tickets表的外键。

我尝试过使用触发器但无法理解如何执行“maxTicket”次数以在故障单表中插入故障单。

谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

这样的事情可能有用。

insert into tickets
(fields)
select distinct (values)
from tickets
where event_id = something
and
(select count(*) + 1
 from tickets join event using (event_id)
 where event_id = something)
<=
(select maxTickets
 from event 
 where event_id = something)