GRANT SELECT не работает для последовательности - PullRequest
0 голосов
/ 20 мая 2019

Я создал xyz последовательность под учетной записью владельца и предоставил право выбора для пользователя базы данных 'abc', но, когда я попытался выбрать последовательность, он говорит, что последовательность не существует с помощью пользователя abc.

Владелец аккаунта

CREATE SEQUENCE XYZ MINVALUE 0 START WITH 1 INCREMENT BY 1;

GRANT SELECT ON XYZ TO ABC;

ABC счет

select XYZ.nextval from dual;

Я должен получить доступ к XYZ.nextval, используя аккаунт ABC. Любая помощь в этом очень ценится как это исправить

1 Ответ

1 голос
/ 20 мая 2019

Похоже, что вам не хватает имени владельца последовательности.

Пример (который на самом деле работает ).

SQL> show user
USER is "SCOTT"
SQL>
SQL> create sequence seq;

Sequence created.

SQL> grant select on seq to hr;

Grant succeeded.

SQL> connect hr/hr
Connected.
SQL>
SQL> select scott.seq.nextval from dual;      --> owner.sequence name.nextval

   NEXTVAL
----------
         1

SQL>

Синоним:

SQL> connect hr/hr
Connected.
SQL> create synonym seq for scott.seq;

Synonym created.

SQL> select seq.nextval from dual;

   NEXTVAL
----------
         2

SQL>

Публичный синоним:

SQL> connect scott/tiger
Connected.
SQL> create public synonym seq for seq;

Synonym created.

SQL> connect hr/hr
Connected.
SQL> select seq.nextval from dual;

   NEXTVAL
----------
         3

SQL>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...