重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1713|回复: 0
打印 上一主题 下一主题

[Oracle] ORA-04089: 无法对 SYS 拥有的对象创建触发器

[复制链接]
跳转到指定楼层
楼主
发表于 2021-12-17 14:22:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当在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  /
触发器已创建
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-6-29 12:33 , Processed in 0.092722 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表