Все, что вы сказали, правильно.
Если вы хотите, чтобы пользователь SALES
содержал ваши таблицы, почему вы не создали его (но вместо этого создали SALESMANAGER
)?
Итак: снова подключитесь как SYS
, затем
drop user salesmanager cascade;
CREATE USER sales IDENTIFIED BY mypassword;
grant create session, create table to sales;
Не предоставляйте привилегии, которые вам не нужны. Особенно, не предоставляйте DBA (это важная роль). Если окажется, что вам потребуются дополнительные привилегии (конечно, вам понадобятся такие, как create view
, create sequence
, ...), предоставьте их.
Теперь подключитесь как sales
и создайте таблицу totals
.
Если вы хотите сохранить пользователя salesmanager
, не бросайте его. Пользователь sales
может затем предоставить определенные привилегии своим таблицам другим пользователям, включая salesmanager
. Подключено как sales
:
create table totals (id number, total number);
insert into totals (id, total) values (1, 100);
grant select on totals to salesmanager;
Подключите как salesmanager
:
select * From sales.totals; --> precede table name with its owner