我对触发器和 PL/SQL 相当陌生,所以我的问题主要是设计问题之一。
我正在创建一组表来表示购票。门票分为三种:
- 票#1:价格、数量、时间
- 票#2:价格、数量、时间、座位、可退款
- 票#3:价格、数量、时间、食物、饮料
所以我创建了三个表:(我相信这被称为规范化):
Table1有列价格、数量和时间
Table2有座位和可退款
Table3有食物和饮料
我在 Table1 中插入了一个主键列,并在 Table2 和 Table3 中使用了指向 Table1 PK 的外键。
计划:当用户购买机票时,我将一条记录插入到相应的表中。例如,如果用户购买:
Ticket #1,我在 Table1 中插入一条记录
Ticket #2,我在 Table1 和 Table2 中插入一条记录
Ticket #3,我在 Table1 和 Table3 中插入一条记录
问题:如何接收非类型 1 票证的所有数据,然后拆分参数以插入单独的表中。例如,当我尝试为 Table2 创建触发器时,该触发器只能接收与 Table2 列匹配的参数。如何接收 Table1 的数据?
完整购买票类型 2 的示例。
用户在线购买票 -> 网络表单内容发生... -> dao 向数据库发送一个插入命令 -> 表 2 的触发器启动并验证表 1 和表 2 的信息。
谢谢!