- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个表,我需要在 USER_TABLES.TABLE_NAME 上添加一个外键约束。
我不太确定该怎么做?
我尝试了以下代码行:
CONSTRAINT FK_USR_TBLS FOREIGN KEY (TABLE_NAME) REFERENCES USER_TABLES(TABLE_NAME)
但是当我尝试创建表时出现以下错误:
ORA-00904: "TABLE_NAME": invalid identifier
最佳答案
user_tables
是 Oracle 数据字典中的一个 View 。这里有两个复杂性。
我们不能在没有主键的对象上构建外键。因为 user_tables
是数据字典的一部分并由 Oracle 管理,我们不能以任何方式、形状或形式更改它,而不会使支持失效。
但这无关紧要,因为我们无法对 View 实现约束。当然,我们可以构建主键,但它们必须声明为 DISABLE NOVALIDATE
。这意味着我们不能在表的外键中引用约束。
您有一个稍微奇怪的要求,但是如果您想构建一个表来强制与数据字典建立关系,您可以使用物化 View 来实现。像这样的:
create materialized view my_tables
as
select table_name from user_tables
/
alter materialized view my_tables
add constraint my_tables_uk unique (table_name)
/
create table t42 (id number, table_name varchar2(30))
/
alter table t42
add constraint t42_tname_fk foreign key (table_name)
references my_tables(table_name)
/
关于sql - Oracle:如何在表中的 USER_TABLES.TABLE_NAME 上添加外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52023518/
我有两个模式 TEST 和 DEV。我在 TEST 模式中工作,我想在 DEV 模式中获取以 SDB 开头的表列表。所以我使用了以下查询: SELECT TABLE_NAME FROM D
我有一台机器的追溯,其中以下查询似乎挂了好几天: SELECT table_name FROM user_tables 什么可能产生这样的锁?用户永远不能修改这个表;并且此查询的许多后续实例都成功运行
我有三个表,currency_types、userdb 和 user_currency。 userdb 有货币字段(gold、sapphires、amethysts、garnets , 和 pkeys
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我正在创建一个表,我需要在 USER_TABLES.TABLE_NAME 上添加一个外键约束。 我不太确定该怎么做? 我尝试了以下代码行: CONSTRAINT FK_USR_TBLS FOREIGN
我是 MySql 大型查询的新手,正在尝试为我的问题找到一些解决方案, 我想根据 USER_TABLE 中的 "ID_object" 列删除重复值。 这是我的 USER_TABLE 描述, `USER
我是一名优秀的程序员,十分优秀!