我必须在 Employee 表上创建一个触发器。如果为 Employee 表发出 INSERT 或 UPDATE 语句,触发器将启动并确保“salary”字段的值符合 job_min_sal 表中的条件。一遍又一遍地尝试后,我得到了一个变异表错误,现在非常沮丧,不知道该怎么办。
JOB_MIN_SALARY TABLE:
JOB VARCHAR2(50) PRIMARY KEY
MIN_SAL NUMBER(7,2) NOT NULL
JOB_MIN_SAL 表填充了各种职位和薪水。我对使用触发器感到困惑,想知道是否可以从这里获得一些帮助
CREATE OR REPLACE TRIGGER employee_job_salary
BEFORE INSERT OR UPDATE OF SALARY on employee
FOR EACH ROW
DECLARE
v_salary NUMBER;
BEGIN
SELECT minimum_salary
INTO v_salary
FROM job_min_salary
WHERE UPPER(job) = UPPER(:NEW.job);
我知道我真的很遥远,我只是在寻求帮助,以了解这需要什么以及我需要采取哪些步骤来获得它。谢谢!
The EMPLOYEE table:
(
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)
);