oracle - 如何在另一个模式上授予创建外键?
问题描述
我有两个 oracle 用户:User1 和 User2。
- User1 有一个表Users_
- User2 有一个表TestTable
我正在尝试在两个表之间创建一个外键约束,如下所示:
ALTER TABLE "User2"."TESTTABLE" ADD CONSTRAINT "TESTTABLE_CREATEDBY"
FOREIGN KEY (CREATEDBY) REFERENCES "User1"."USERS_" (ID) ENABLE
User2 有权选择 User1 表Users_ ( Grant select to user2 on Users_
)
运行 alter table 语句时出现错误:权限不足。
有谁知道如何解决这个问题?
干杯,
解决方案
要针对另一个模式中的表创建外键,我们需要对该表具有 REFERENCES 权限。这是一个单独的特权,因为它给表的所有者带来了负担:如果您引用它们,他们就不能从表中删除记录。了解更多
推荐阅读
- c# - ASP.NET C# MVC 在不使用数据库的情况下存储大量信息/值的最佳方式
- google-tag-manager - 移动 GTM 标记 - GTM+Firebase SDK - 导出 iOS 容器并导入到 Android
- html - Bootstrap:HTML 锚点在按钮/页脚中不起作用
- javascript - 返回字符串函数Javascript
- c++ - 有没有办法自动初始化一个 std::shared_ptr 来保存一个有效的对象?
- php - 存储库类的 PhpStorm 元数据文件
- ruby-on-rails - Rails 如何将 rails 变量传递给 CKEditor 配置?
- matlab - 在 MATLAB 中查找子集的索引
- python - 使用 INT django Python 连接字符串
- ionic3 - 使用 MangoDB 在 ionic3 和 Angular5 Web 应用程序之间同步数据