我在带有自动增量字段的Oracle 11g中创建了一个表:
CREATE TABLE SOFOS.SANCIONES (
COD_SANCION NUMBER PRIMARY KEY,
COD_USUARIO VARCHAR2(100) NOT NULL,
FECHA_INICIO DATE NOT NULL,
FECHA_FIN DATE NOT NULL,
COD_GERENCIA NUMBER NOT NULL,
MOTIVO NUMBER NOT NULL,
COD_NOMBRE_CURSO VARCHAR2(200) NOT NULL,
MOTIVO_LEVANTAMIENTO VARCHAR2(500)
);
CREATE SEQUENCE sanciones_seq;
DROP TRIGGER sanciones_trig;
CREATE TRIGGER sanciones_trig
BEFORE INSERT ON SANCIONES
FOR EACH ROW
BEGIN
SELECT sanciones_seq.nextval
INTO :NEW.COD_SANCION
FROM dual;
END;
/
问题是我遇到了
之类的错误ORA-04098:触发器“ SANCIONES_TRIG”无效且失败 重新验证
...我在做什么错?
我遵循了其他示例,但仍然有相同的错误。
在“ FROM dual”之后添加分号;解决了问题@krokodilko 暗示答案。