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

前端之家收集整理的这篇文章主要介绍了如何在Oracle中创建不是“由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>>

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

原文链接:https://www.f2er.com/oracle/205023.html

猜你在找的Oracle相关文章