Actualizar Trigger PL / SQL Oracle

Tengo una tabla con la siguiente estructura:

create table treballa (
code varchar2(4), 
 name varchar2(20), 
 director varchar2(4), 
department number, 
salary int,
 primary key (code), 
 foreign key (director) references treballa(code) 
) 

Y necesito crear 1 disparador que verifique si el número de departamento del trabajador actualizado, el salario total entre todos los trabajadores de ese departamento no supera los 10000, pero no sé cómo hacerlo realmente ... ¿Podría usted? ¿por favor, ayúdame? Muchas gracias.

EDITAR:

CREATE OR REPLACE TRIGGER controlsalaridept BEFORE INSERT OR UPDATE ON TREBALLA
FOR EACH ROW
  DECLARE
    salaritotal INT := 0;
  BEGIN
    IF INSERTING THEN
      SELECT sum(salary) INTO salaritotal FROM TREBALLA WHERE DEPARTMENT LIKE :new.DEPARTAMENT;
      DBMS_OUTPUT.PUT_LINE('Salari Total abans suma:'||salaritotal);
      salaritotal := salaritotal + :new.SALARY;
      DBMS_OUTPUT.PUT_LINE('Salari Total després:'||salaritotal);
      IF salaritotal > 10000 THEN
        raise_application_error(-20025, 'La suma del salari total de cada departament supera els 10000 Euros');
      END IF;
    END IF;
    IF UPDATING THEN
      SELECT sum(salary) INTO salaritotal FROM TREBALLA WHERE DEPARTMENT LIKE :old.DEPARTAMENT;
      DBMS_OUTPUT.PUT_LINE('Salari Total abans suma:'||salaritotal);
      salaritotal := salaritotal - :old.SALARY + :new.SALARY;
      DBMS_OUTPUT.PUT_LINE('Salari Total després:'||salaritotal);
      IF salaritotal > 10000 THEN
        raise_application_error(-20026,'La suma del salari total de cada departament supera els 10000 Euros');
      END IF;
    END IF;
  END;

EDICIÓN FINAL /

ERROR AL ACTUALIZAR:

[42000] [4091] ORA-04091: la tabla SPECIAL.TREBALLA está mutando, el activador / función puede no verlo ORA-06512: en "SPECIAL.CONTROLSALARIDEPT", línea 14 ORA-04088: error durante la ejecución del activador 'SPECIAL.CONTROLSALARIDEPT '

PD: Lo siento, soy muy nuevo en Oracle y necesito ayuda con este disparador, no sé si es correcto lo que estoy haciendo ... La primera parte del disparador "SI INSERTAR" funciona bien, el problema es con la ACTUALIZACIÓN ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta