and*_*and 0 sql database oracle triggers stored-procedures
我想available_seats在FLIGHT每次向FLIGHT_PLAN表中添加新行条目时自动减少表中的值
FLIGHT_PLAN 定义为:
FLIGHT_PLAN (plan_number NUMBER, flight_number NUMBER)
Run Code Online (Sandbox Code Playgroud)
并被FLIGHT定义为
FLIGHT (flight_number NUMBER, available_seats NUMBER)
Run Code Online (Sandbox Code Playgroud)
我应该使用存储过程,触发器吗?
如果这样做,您将在DB中多次存储相同的数据,这是一种优化.您确定需要优化吗?
如果您这样做,请查找触发器.您可能希望在创建,更新和删除FLIGHT_PLAN表时触发以调整FLIGHT表.
如果您不需要优化,或者您还不确定是否需要优化,请不要进行优化.您可以快速查询已分配席位的数量,并从中计算所需的remaining_seats值:
从FLIGHT_PLAN中选择COUNT(*),其中PLAN_NUMBER =?
SELECT total_seats FROM FLIGHT;
...
$ available_seats - $ total_seats - $ occupied_seats;
| 归档时间: |
|
| 查看次数: |
515 次 |
| 最近记录: |