我正在尝试创建一个触发器,当将记录插入员工表(新员工)时,触发器会触发并将记录作为“N/A”插入到employee_dept_history 表中(因为该员工是新员工)并且没有以前的部门)。此外,如果当前员工切换部门,则触发器应在 employee_dept_history 表中插入一条记录,并且员工 depatment_id 会更改。我在创建此触发器时遇到问题。我想知道是否有人可以用我的代码引导我走向正确的方向。我无法让下面的触发器显示“N/A”。我怎样才能使这个触发器工作?我需要为新旧部门创建局部变量吗?
CREATE OR REPLACE TRIGGER employee_dept_trigger
   BEFORE INSERT OR UPDATE ON employee
   FOR EACH ROW
BEGIN
   INSERT INTO employee_dept_history
   VALUES(:NEW.employee_id, 
       :NEW.employee_name, 
        from_department_name (NEEDS TO OUTPUT 'N/A'),
        to_department_name, 
        sysdate);
 END employee_dept_trigger;
EMPLOYEE_DEPT_HISTORY 表如下所示:
CREATE TABLE empployee_dept_history
(
    EMPLOYEE_ID NUMBER(4)
    EMPLOYEE_NAME VARCHAR2(50)
    FROM_DEPARTMENT_NAME VARCHAR2(50)
    TO_DEPARTMENT_NAME VARCHAR2(50)
    OPERATION_TIME DATE
);
员工表:
(
    EMPLOYEE_ID NUMBER(4)
    EMPLOYEE_NAME VARCHAR2(20)
    JOB VARCHAR2(50)
    MANAGER_ID NUMBER(4)
    HIRE_DATE DATE
    SALARY NUMBER(9)
    COMMISION NUMBER(9)
    DEPARTMENT_ID NUMBER(4)
);