PL/SQL ORACLE触发器

PL/SQL ORACLE触发器,oracle,plsql,triggers,Oracle,Plsql,Triggers,我试图创建一个触发器,当您在公司中插入一名员工时,如果该员工来自80部门,则分配0.10的佣金。这就是我迄今为止所尝试的: CREATE OR REPLACE TRIGGER emp_com BEFORE INSERT ON employees FOR EACH ROW WHEN (NEW.DEPARTMENT_ID= '80') BEGIN IF INSERTING THEN :NEW.commission_pct := 0.10; END IF; END; 触发器在当前状态

我试图创建一个触发器,当您在公司中插入一名员工时,如果该员工来自80部门,则分配0.10的佣金。这就是我迄今为止所尝试的:

CREATE OR REPLACE TRIGGER emp_com
BEFORE INSERT ON employees
FOR EACH ROW
WHEN (NEW.DEPARTMENT_ID= '80')
BEGIN
  IF INSERTING THEN
    :NEW.commission_pct := 0.10;
  END IF;
END;

触发器在当前状态下应能正常工作;但是,“如果插入”位是多余的,因为您的触发器只为插入触发

CREATE OR REPLACE TRIGGER emp_com
BEFORE INSERT ON employees
FOR EACH ROW
WHEN (NEW.DEPARTMENT_ID= '80')
BEGIN
  :NEW.commission_pct := 0.10;
END;

当(NEW.DEPARTMENT_ID='80')开始插入时,为每行员工在插入之前创建或替换触发器emp_com,如果插入,则:NEW.commission_pct:=0.10;如果结束;结束;´