如何在oracle中删除没有表的用户

时间:2013-04-09 09:00:12

标签: oracle sql-drop drop-table

如何在没有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中的表的情况下删除用户? 提前谢谢!

2 个答案:

答案 0 :(得分:1)

你不能这样做。

该表属于andi,当你放弃时,你也放弃了所有物品

如前所述(由@Steven Wolfe创建)为表创建用户,并为其他用户授予权限。

答案 1 :(得分:0)

您可以使用其他用户作为所有者创建mahasiswa表,然后向用户andi授予他们所需的任何权限(SELECT, INSERT, UPDATE, DELETE)。

我还会创建一个同义词,因此您不必使用所有者架构持续引用andi架构中的表,例如:OTHERUSER.mahasiswa。当andi用户执行以下操作时:

CREATE SYNONYM mahasiswa FOR OTHERUSER.mahasiswa

希望有所帮助。