Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: inquilin@19 en 29 Febrero 2012, 23:02 pm



Título: Triggers en Oracle
Publicado por: inquilin@19 en 29 Febrero 2012, 23:02 pm
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:
Código:
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 :)


Título: Re: Triggers en Oracle
Publicado por: tunipo en 1 Marzo 2012, 18:12 pm
¿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 ;)


Título: Re: Triggers en Oracle
Publicado por: inquilin@19 en 1 Marzo 2012, 22:52 pm
Si, ya lo solucione con el ELSE muchas gracias!