Как предоставить внешний ключ на другую схему? - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть два пользователя оракула: Пользователь1 и Пользователь2.

  • У User1 есть таблица Users_
  • У User2 есть таблица TestTable

Я пытаюсь создать ограничение внешнего ключа между двумя таблицами следующим образом:

ALTER TABLE "User2"."TESTTABLE" ADD CONSTRAINT "TESTTABLE_CREATEDBY"
FOREIGN KEY (CREATEDBY) REFERENCES "User1"."USERS_" (ID) ENABLE

Пользователь2 имеет право выбирать в таблице Пользователь1 Пользователи_ (Grant select to user2 on Users_)

При выполнении оператора alter table у меня возникает ошибка: недостаточно прав.

Кто-нибудь знает, как решить эту проблему, пожалуйста?

Приветствия

1 Ответ

0 голосов
/ 04 сентября 2018

Чтобы создать внешний ключ для таблицы в другой схеме, нам нужно иметь привилегию REFERENCES для этой таблицы. Это отдельная привилегия, поскольку она накладывает бремя на владельца таблицы: они не могут удалять записи из своей таблицы, если вы на них ссылаетесь. Узнать больше

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