在视图上添加外键约束



在 ibm db2 数据库上,我有两个表,TABLE1 和 TABLE2。我还有一个逻辑文件LOGICAL1在表1上LOGICAL1根据某些 TABLE1 字段的值筛选 TABLE1 中的记录。(这就像一个SQL视图)

我想在 TABLE2 和逻辑文件LOGICAL1之间添加一个外部约束。

当我尝试这样做时,我收到一条错误消息 SQ0157,说LOGICAL1在外键子句中无效,逻辑文件或视图不能在外键子句中指定。

那么,有没有办法对过滤表进行约束?

外部(引用)约束只能应用于物理表。

以下是一些文档链接,以获取更多信息:

IBM i 7.1 信息中心> 数据库

参考> SQL 参考>概念>表>约束>引用约束

约束意味着所有子行都有一个父行。

请考虑在子表上写入一个触发器,该触发器使用 LOGICAL1 来验证是否允许插入/写入。

正如 James 指出的,FK 约束仅适用于物理表。 AFAIK,此规则适用于所有RDBMS系统。

但是,如果您将约束放在物理上,则其效果将在视图中看到。

查尔斯

相关内容

  • 没有找到相关文章

最新更新