我有两个表,一个叫做EMPLOYEE,第二个叫做SQL Developer中的CURRENT_EMPLOYYE。
表EMPLOYEE有三个字段: ID(类型:数字,PK),FNAME(类型:varchar2 50),DATE(类型:日期)
表CURRENT_EMPLOYYE有三个字段: ID(类型:数字,PK),FNAME(类型:varchar2 50),DATE(类型:日期)
我要做的是在表EMPLOYEE上创建一个触发器,这样当在该表中插入一条记录时,它就会被插入到表CURRENT_EMPLOYYE中。
有关如何操作的任何帮助?
答案 0 :(得分:3)
一般来说,你似乎想要的是
CREATE OR REPLACE TRIGGER EMPLOYEE_AI
AFTER INSERT ON EMPLOYEE
FOR EACH ROW
BEGIN
INSERT INTO CURRENT_EMPLOYEE
(ID, FNAME, DATE)
VALUES
(:NEW.ID, :NEW.FNAME, :NEW.DATE);
END EMPLOYEE_AI;
更好的选择是在EMPLOYEE上有一个'STATUS'字段,表明员工的状态(例如'C'=当前,'T'=终止,'X'=以极端偏见终止:-)然后只需将CURRENT_EMPLOYEE视为一个视图:
CREATE OR REPLACE VIEW CURRENT_EMPLOYEE AS
SELECT *
FROM EMPLOYEE
WHERE STATUS = 'C'
这样您就不会遇到将员工数据复制到多个表上的问题。
祝你好运。