oracle如何删除没有表的用户
Posted
技术标签:
【中文标题】oracle如何删除没有表的用户【英文标题】:How to drop user without table in oracle 【发布时间】:2013-04-09 09:00:11 【问题描述】:如何在 oracle 中删除没有表的用户?
create user andi identified by andi;
alter user andi quota 10m on users;
grant connect to andi;
grant create table to andi;
conn andi;
create table mahasiswa( idmhs number(3) primary key, nama varchar(20),
nim number(7), jurusan varchar(20) );
insert into mahasiswa values (101, 'Budi', 0881103, 'TI');
drop user andi cascade; ---> table mahasiswa is also deleted.
如何在 oracle 中删除没有表的用户? 提前谢谢!
【问题讨论】:
【参考方案1】:你不能这样做。
桌子属于 andi,当你放下 andi 时,你也会放下它的所有物品。
如前所述(@Steven Wolfe)为表创建一个用户,并为其他用户授予权限。
【讨论】:
【参考方案2】:您可以创建mahasiswa
表并以其他用户为所有者,然后授予用户andi
所需的任何权限(SELECT, INSERT, UPDATE, DELETE
)。
我还将创建一个同义词,这样您就不必不断地从 andi
架构中引用表和所有者架构,例如:OTHERUSER.mahasiswa
。作为andi
用户执行以下操作:
CREATE SYNONYM mahasiswa FOR OTHERUSER.mahasiswa
希望对您有所帮助。
【讨论】:
我从用户 andi 创建了“CREATE SYNONYM mahasiswa FOR OTHERUSER.mahasiswa”?但它说权限不足..所以我从dba创建'grant create synonym to andi'。名称已被现有对象使用,但我在 dba 用户上没有任何表 mahasiswa.. @Grace 您应该在架构中创建同义词,该同义词将访问同义词引用的对象,或者您可以CREATE PUBLIC SYNONYM
任何用户都可以看到(架构)。以上是关于oracle如何删除没有表的用户的主要内容,如果未能解决你的问题,请参考以下文章
oracle删除关联表的数据,如何删除啊!下面是我写的SQL,不知道哪里出问题了,就是运行不了!