概述
当在sys用户下创建触发器时,报错ORA-04089,如下:
SQL> create or replace trigger bar_code_tg
2 before insert on sjk_bar_code for each row
3 begin
4 select bar_code_sequence.nextval into :new.idfrom dual;
5 end;
6 /
create or replace trigger bar_code_tg
*
第 1 行出现错误:
ORA-04089: 无法对 SYS 拥有的对象创建触发器
异常原因:所有以sysdba登陆的账户都不能创建触发器
解决方案:以normal方式登陆数据库建表,建触发器
执行过程:
SQL> show user
USER 为"SYS"
SQL> create user bar identified by bar;
用户已创建。
SQL> grant connect,resource,unlimited tablespace to bar;
授权成功。
SQL> conn bar/bar;
已连接。
SQL> create table SJK_BAR_CODE
2 (
3 id number(12) not null,
4 rule varchar2(255),
5 esp_no varchar2(100),
6 table_name varchar2(10),
7 esp_id number(12),
8 is_del number(1),
9 create_time date,
10 update_time date,
11 esp_content varchar2(100)
12 )
13 tablespace users
14 pctfree 10
15 initrans 1
16 maxtrans 255
17 storage
18 (initial 64K
19 minextents 1
20 maxextents unlimited
21 )
22 ;
表已创建。
SQL> create or replace trigger bar_code_tg
2 before insert on sjk_bar_code for each row
3 begin
4 select bar_code_sequence.nextval into :new.idfrom dual;
5 end;
6 /
触发器已创建
最后
以上就是安详饼干为你收集整理的ORA-04089: 无法对 SYS 拥有的对象创建触发器的全部内容,希望文章能够帮你解决ORA-04089: 无法对 SYS 拥有的对象创建触发器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复