2013-04-09 7 views
1

oracle에 테이블이없는 사용자를 삭제하려면 어떻게합니까?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에 테이블이없는 사용자는 어떻게 삭제할 수 있습니까? 미리 감사드립니다.

답변

0

다른 사용자를 소유자로 사용하여 mahasiswa 테이블을 만든 다음 사용자에게 andi 권한 (SELECT, INSERT, UPDATE, DELETE)을 부여 할 수 있습니다.

동의어도 만들므로 소유자 스키마가있는 andi 스키마 (예 : OTHERUSER.mahasiswa)에서 테이블을 계속 참조 할 필요가 없습니다. andi 사용자는 다음을 실행합니다.

희망이 있습니다.

+0

사용자 andi의 'CREATE SYNONYM mahasiswa FOR OTHERUSER.mahasiswa'를 만들었습니까? 하지만 그것은 충분하지 않은 특권을 말했습니다 .. 그래서 dba에서 'andi'동의어를 생성합니다. 이름은 이미 기존 개체에 의해 사용되지만 dba 사용자의 테이블 mahasiswa가 없습니다. –

+0

@Grace 동의어가 참조하는 개체에 액세스 할 스키마 내에서 동의어를 만들어야합니다. 그렇지 않으면 CREATE PUBLIC SYNONYM을 할 수 있습니다. 모든 사용자 (스키마)가 볼 수 있습니다. –

1

수행 할 수 없습니다.

테이블은 andi와 에 속하며 드롭하면 모든 소지품을 버리십시오.

앞에서 (@Steven Wolfe에 의해) 테이블에 대한 사용자를 생성하고 다른 사용자에게 권한을 부여합니다.