我学习SQL,并有一些表像下面:父母与子女表 - 确保儿童完成
Person (id*, name)
Customer(id*, is_active, ...)
Employee(id*, department_id, ...)
(*表示主键,这在客户和员工的情况下,既一个PK和一个FK回人)
客户和员工都是人的类型,我想确保当一个记录被插入人时,记录也必须插入到任何客户或员工,但不是两者。在这个例子中,一个人不能既是员工又是客户。
我被告知触发器对强制执行此约束会很有用。有人可以用这个简单的例子来解释触发器的用法吗?
您不必使用触发器。你可以做一个插入2行的过程。 –
您正在使用哪些DBMS?甲骨文? PostgreSQL的? –
你确定触发是你想要的吗?根据您在此处的设计,触发器可能没有所需的所有信息来正确填充要填充的两个表中的任何一个。您可能想要将应用程序代码中的插入作为事务的一部分来处理。 – kolossus