fallo en ejecucion de un trigger
hola, el trigger me lo crea sin errores de compilacion pero cuando lo ejecuto, me hace lo q le pido, pero me salen unos errores q no entiendo su significado.
este es el trigger:
CREATE OR REPLACE TRIGGER ACTIV_SIN_5REGIONES
before INSERT ON ACTIVIDADES
FOR EACH ROW
declare
cuenta number(4);
BEGIN
select count(*) into cuenta from regiones;
IF cuenta <5 THEN
RAISE_APPLICATION_ERROR(-20100, 'insercion no valida xq hay menos de cinco regiones');
END IF;
END;
estos son los errores
ORA-06512: en "GESTOR.EJ11", lÃnea 9
ORA-04088: error durante la ejecución del disparador 'GESTOR.EJ11'
este es el trigger:
CREATE OR REPLACE TRIGGER ACTIV_SIN_5REGIONES
before INSERT ON ACTIVIDADES
FOR EACH ROW
declare
cuenta number(4);
BEGIN
select count(*) into cuenta from regiones;
IF cuenta <5 THEN
RAISE_APPLICATION_ERROR(-20100, 'insercion no valida xq hay menos de cinco regiones');
END IF;
END;
estos son los errores
ORA-06512: en "GESTOR.EJ11", lÃnea 9
ORA-04088: error durante la ejecución del disparador 'GESTOR.EJ11'
Pues ahora mismo no puedo ayudarte mucho porque no tengo instalada la ayuda de oracle en mi PC, se me coló un virusillo y he tenido que formatearlo, me lo apunto para mirarlo el lunes en el curro.
Se me ocurren asà a bote pronto dos cosas, investigalo y me dices algo :
1 ) ¿ Es posible que la tabla REGIONES tenga mas de 9999 registros ?. En ese caso la variable CUENTA se desbordaria, ya que es NUMBER(4).
2 ) ¿ Puede ser del RAISE_APPLICATION_ERROR ? No me acuerdo del rango de numeros que admite.
Investigalo por ahÃ
Se me ocurren asà a bote pronto dos cosas, investigalo y me dices algo :
1 ) ¿ Es posible que la tabla REGIONES tenga mas de 9999 registros ?. En ese caso la variable CUENTA se desbordaria, ya que es NUMBER(4).
2 ) ¿ Puede ser del RAISE_APPLICATION_ERROR ? No me acuerdo del rango de numeros que admite.
Investigalo por ahÃ
