--建表TEST create table TEST( id number(9), name varchar(30) ) --建squence create sequence TEST_SEQUENCE minvalue 0 maxvalue 999999999999999999999999999 start with 4 increment by 1 nocache; --建触发器 create or replace trigger I_TEST_ID before insert on TEST for each row begin select TEST_SEQUENCE.nextval into:new.ID from dual; end; --测试 insert into TEST (NAME) values ('asd')
在这过程中遇到了一个问题
触发器验证未通过
ora-04098
使用语句查询
SELECT do.OBJECT_NAME, do.status
FROM dba_objects do
WHERE do.OBJECT_TYPE = 'TRIGGER'
发现那个触发器是invalid
因此去看触发器代码
编译后错误提示为pls-00103:出现符号""在需要下列之一时
原因可能是你语句里有了全角的字符或者空格
改好以后发现ok了可以运行了