fallo en ejecucion de un trigger

alicia
04 de Enero del 2005
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'


jc3000
04 de Enero del 2005
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í

jc3000
04 de Enero del 2005
Oye, una cosa.
¿ EL trigger como se llama EJ11 ó ACTIV_SIN_5REGIONES ? Es que el trigger que pones se llama de una manera y en el error que has puesto, pone otro nombre.

¿ Es el mismo trigger o se te ha ido la pinza ?