我有 3 张桌子。一个表EMPLOYEE
是父表,它包含公司的所有员工,然后我有子表,其中包含表中EMP_ID
的 PK 和 FKEMPLOYEE
以及其他特定信息。考虑到EMPLOYEE
表中有EMP_TYPE
员工的类型,是否可以通过将记录输入到 中EMPLOYEE
,记录应该自动识别其类型并将自己复制到相关表中?
问问题
284 次
2 回答
0
有两种方法可以做到这一点:
- 使用插入数据库触发器。
- 从前端或业务层做(我假设你有)
于 2013-01-20T04:03:22.977 回答
0
您可以为此使用触发器函数,该函数检查EMP_TYPE
然后在相应的子表中插入数据。确保在将数据插入父表时触发这些触发器。
或者您寻找对象关系数据库。
对于 MySQL,它可能看起来像这样(不知道模型的真实结构,但它应该很容易适应您的具体情况):
CREATE TRIGGER testref AFTER INSERT ON Employee
FOR EACH ROW BEGIN
IF NEW.EMP_TYPE = 'PROGRAMMER' THEN
INSERT INTO Programmer (id, type, name, salary, start_date) values (NEW.EMP_ID, NEW.EMP_TYPE, NEW.NAME, NEW.SALARY, NEW.START_DATE);
ELSE
INSERT INTO Intern (id, type, name, salary) values (NEW.EMP_ID, NEW.EMP_TYPE, NEW.NAME, NEW.SALARY);
END IF;
结尾;
于 2013-01-20T01:42:56.397 回答