如何在其他帐户上创建外键

时间:2018-11-20 21:25:47

标签: sql database oracle foreign-keys

因此,我目前正在使用我的帐户使用用户名:ctxsys和密码 在此帐户中,我有一个名为payment_months的表。

在另一个名为paystring = [] for date_row in dates: paystring.append([]) for date, payment_month in zip(date_row, payment_months): if payment_month < date: paystring[-1].append(0) else: paystring[-1].append( ((payment_month + 12 - date) + 1) % 12) 且具有密码的帐户中,我有一个名为archiv11的表,以及为从当前帐户表到位置表进行外键操作的尝试。

d5a11

我收到错误,指出表fileLocation不存在。

这可能吗?

2 个答案:

答案 0 :(得分:1)

没问题;引用表的所有者必须将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>

答案 1 :(得分:0)

这应该可行。但是,您必须允许

grant reference on d5a11.fileLocation to ctxsys;