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

Так что в настоящее время я использую свою учетную запись с именем пользователя: ctxsys и паролем. В этой учетной записи у меня есть таблица с именем archiv11.

В другой учетной записи с именем d5a11 с паролем у меня есть таблица с именем fileLocation и что я пытаюсь сделать, чтобы сделать внешний ключ из моей таблицы текущей учетной записи в таблицу местоположений.

create table archiv11(
 id integer primary key,
 fileName varchar2(50),
 fileContent blob,
 locationID integer,
 CONSTRAINT archivFK FOREIGN KEY(locationID) REFERENCES d5a11.fileLocation(loc_ID)
);

Я получаю сообщение об ошибке, что таблица fileLocation не существует.

Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Это должно быть возможно.Однако вы должны разрешить это с

grant reference on d5a11.fileLocation to ctxsys;
0 голосов
/ 21 ноября 2018

Нет проблем;владелец ссылочной таблицы должен предоставить REFERENCE другому пользователю, который должен предшествовать имени ссылочной таблицы своему владельцу.

Вот пример: у пользователя MIKE есть таблица, на которую ID должна быть ссылка в таблице SCOTT

SQL> show user
USER is "MIKE"
SQL> create table mike_table (id number primary key);

Table created.

SQL> grant references on mike_table to scott;

Grant succeeded.

SQL> connect scott/tiger
Connected.
SQL> create table scott_table (id number primary key,
  2                            id_mike number constraint fk_scmi references mike.mike_table(id)
  3                           );

Table created.

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