加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在Oracle中创建不是“由sys拥有”的表?

发布时间:2020-12-12 15:14:43 所属栏目:百科 来源:网络整理
导读:我试图创建一个触发器: create trigger afterupdate after insert on friendsfor each row begin dbms_output.put_line('hello world');end afterupdate; 但是出现以下错误: "cannot create triggers on objects owned by SYS" 鉴于错误,我假设您以SYS身份
我试图创建一个触发器:
create trigger afterupdate 
after insert on friends
for each row 


begin 
dbms_output.put_line('hello world');
end afterupdate;

但是出现以下错误:

"cannot create triggers on objects owned by SYS"
鉴于错误,我假设您以SYS身份登录数据库以创建表并编写代码.您不希望使用SYS模式 – 您永远不应该在SYS模式中创建对象.您需要以其他用户身份登录数据库.通常,如果要构建一个全新的应用程序,则可以创建一个新用户来拥有新应用程序的所有对象.

例如,如果您正在构建Facebook克隆,并且希望将USERS表空间用于数据

CREATE USER facebook_appid
  IDENTIFIED BY <<password>>
  DEFAULT TABLESPACE USERS
  TEMPORARY TABLESPACE TEMP;

GRANT CREATE SESSION,CREATE TABLE,CREATE TRIGGER
   TO facebook_appid;

然后,您将使用您指定的密码以facebook_appid身份连接到数据库.

sqlplus facebook_appid/<<password>>@<<TNS alias>>

完成后,您可以创建表格和触发器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读