同样的语句,oracle8i通过,oracle10g不过
同样的语句,oracle8i通过,oracle10g不过
想创建一个触发器调用一个序列,实现字段自动增长。
在oracle8i,某用户下
SQL> create table book(
2 id integer not null primary key,
3 book_name varchar2(100)
4 );
表已创建。
SQL> commit;
提交完成。
SQL> create sequence seq_book_id
2 start with 1 increment by 1
3 minvalue 1 maxvalue 9999999
4 nocycle cache 20;
序列已创建。
SQL> create or replace trigger tri_book_id
2 before insert on book
3 for each row
4 begin
5 select seq_book_id.nextval into :new.id from dual;
6 end;
7 /
触发器已创建
SQL>
但是在oracle10,system用户下执行以上语句出错,触发器创建不成,提示大概是:
WARNING:TRIGGER CREATED WITH COMPILATION ERRORS.
是什么原因?
------解决方案--------------------system用户9i和10g的默认角色是不一样的,8i没用过,可以考虑一下这方面的原因
------解决方案--------------------book表是system用户创建的吗?
------解决方案--------------------你用的是同一个用户登陆的吗?