Oracle - HELP TRIGGER

 
Vista:
sin imagen de perfil

HELP TRIGGER

Publicado por Eloi (1 intervención) el 11/05/2015 14:05:36
Buenas,
Estoy haciendo un trigger que tiene que comprobar si el nuevo trabajador a inserir en un departamento x, su salario sera superior al de algun trabajador del x departamento, de ser así, anular la inserción del nuevo trabajador.
Pues bien, me da error y no consigo entender el mensaje que me da.

El codigo és el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
CREATE OR REPLACE TRIGGER insertEmployee
BEFORE INSERT ON employees  FOR EACH ROW
DECLARE
	sou_supera_maxim EXCEPTION;
	sou FLOAT;
 
BEGIN
 
  select max(salary) into sou
  from employees
  where department_id = :new.department_id;
 
  IF :new.salary >= sou then
    RAISE sou_supera_maxim;
  ELSE
    DBMS_OUTPUT.PUT_LINE('Nou treballador instroduït');
  END IF;
 
EXCEPTION
  WHEN sou_supera_maxim THEN
    DBMS_OUTPUT.PUT_LINE('Error. El nou salari ha de ser inferior al màxim actual: ' || sou);
    rollback;
END;

-- el error:
Informe de error:
ORA-04079: especificación de disparador no válida
04079. 00000 - "invalid trigger specification"
*Cause: The create TRIGGER statement is invalid.
*Action: Check the statement for correct syntax.

MUCHISIMAS GRACIAS POR LA AYUDA!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

HELP TRIGGER

Publicado por Cristian Palma (1 intervención) el 11/05/2015 14:52:05
Creo que tienes problemas con las comillas simples en el primer dbms_output, específicamente la comilla simple
que termina el mensaje. O más bien que en la última i de la palabra introduit hay ¨, eso al parecer hace que no se
cierre bien el mensaje.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar