Triggers en Oracle

Iniciado por inquilin@19, 29 Febrero 2012, 23:02 PM

0 Miembros y 1 Visitante están viendo este tema.

inquilin@19

Hola a todos, estoy haciendo este trigger para que me de un error al intentar insertar una nueva fila en una tabla mientras en otra no se cumpla determinada condiciion.
Aparte de que me añada en otra un "log" de la actividad con el nombre de usuario, la fecha y si la operacion ha salido exitosa o fallida.
Esto es lo que tengo por ahora:
CREATE OR REPLACE TRIGGER ejer9
BEFORE INSERT
ON ACTIVIDADES
FOR EACH ROW
DECLARE
cuenta NUMBER;
usuario VARCHAR2;
BEGIN
SELECT USER INTO usuario FROM DUAL;
SELECT COUNT(*) INTO cuenta FROM REGION;
IF cuenta < 20 THEN
INSERT INTO CRTL_ACTIVIDADES VALUES (usuario, SYSDATE, 'FALLIDO');
ELSIF
INSERT INTO CTRL_ACTIVIDADES VALUES (usuario, SYSDATE, 'EXITOSO');
END IF;
END Ejer9;
/

Me da error, no crea el trigger
Alguien sabe donde tengo el fallo??
Muchas gracias de antemano :)
Sólo mirando al frente se puede seguir, llevar lastres en el camino no te lo permiten

tunipo

¿Lo has solucionado ya?

Creo que el problema es con el ELSIF, ya que si quieres usar ELSIF le tienes que dar una condición y luego THEN.

De todos modo en tu caso simplemente usaría un ELSE ;)

inquilin@19

Si, ya lo solucione con el ELSE muchas gracias!
Sólo mirando al frente se puede seguir, llevar lastres en el camino no te lo permiten