problema con trigger.
Publicado por eljhonb (5 intervenciones) el 27/11/2005 23:16:40
tengo el siguiente trigger:
CREATE FUNCTION Ver_ins_emp() RETURNS OPAQUE AS '
BEGIN
--verifica que no tenga cédula no sea NULL
IF NEW.cedula ISNULL THEN
RAISE EXCEPTION ''Cédula no puede ser NULL'';
-- Verifica que el nombre no sea NULL
IF NEW.nombre ISNULL THEN
RAISE EXCEPTION ''% nombre no puede ser NULL'';
END IF;
IF NEW.apellido ISNULL THEN
RAISE EXCEPTION ''% apellido no puede ser NULL'', NEW.nombre;
END IF;
RETURN NEW;
END;
CREATE TRIGGER ver_ins_emp BEFORE INSERT OR UPDATE ON empleado
FOR EACH ROW EXECUTE PROCEDURE Ver_ins_emp();
y al tratar de insertar un registro en la tabla empleado, me aparerece el suiguente error:
"trigger 'VER_INS_EMP' is invalid and failed re-validation". Qué puede ser ese error?, cómo solucionarlo?
Además no me deja crear ningún trigger, procedure, ni function directamente desde sqlplus y me toca crearlos desde la aplicación que es en JAVA.
estoy trabajando remotamente, por medio de telnet, sobre una base de datos que oracle 8i.
Muchas Gracias
CREATE FUNCTION Ver_ins_emp() RETURNS OPAQUE AS '
BEGIN
--verifica que no tenga cédula no sea NULL
IF NEW.cedula ISNULL THEN
RAISE EXCEPTION ''Cédula no puede ser NULL'';
-- Verifica que el nombre no sea NULL
IF NEW.nombre ISNULL THEN
RAISE EXCEPTION ''% nombre no puede ser NULL'';
END IF;
IF NEW.apellido ISNULL THEN
RAISE EXCEPTION ''% apellido no puede ser NULL'', NEW.nombre;
END IF;
RETURN NEW;
END;
CREATE TRIGGER ver_ins_emp BEFORE INSERT OR UPDATE ON empleado
FOR EACH ROW EXECUTE PROCEDURE Ver_ins_emp();
y al tratar de insertar un registro en la tabla empleado, me aparerece el suiguente error:
"trigger 'VER_INS_EMP' is invalid and failed re-validation". Qué puede ser ese error?, cómo solucionarlo?
Además no me deja crear ningún trigger, procedure, ni function directamente desde sqlplus y me toca crearlos desde la aplicación que es en JAVA.
estoy trabajando remotamente, por medio de telnet, sobre una base de datos que oracle 8i.
Muchas Gracias
Valora esta pregunta


0