【发布时间】:2021-05-05 16:35:53
【问题描述】:
我有一个包含主键和外键关系的数据库图。然后我在图中创建一个新表,外键指向另外 2 个表。示例:
图表中的表格:客户、订单和状态
新表:视图(带有 fk 到客户(CustID)、订单(OrID)和状态(SID))
在视图表中,我想要一个列 Ordertype,它应该是 Orders 表的相关/链接列。 这意味着,每当我在新的 View 表中更改 Ordertype 的值时,它也会在 Orders 表中更新。
我怎样才能做到这一点?我想我需要将这样一个相关列添加到我的视图表的 sql 脚本。
我尝试过的: 关系订单(PK)和视图(FK)的更新属性设置为“级联”。 在两个表 Orders 和 View 中给定相同的列名和数据类型到 Ordertype 但是,这对我不起作用。
谢谢。
【问题讨论】:
-
我认为您可能遇到了 XY 问题。视图(BTW 的任何表的坏名称)只是超过 1 个或多个表的数据视图。告诉我们您要解决的实际问题,而不是您对原始问题的感知解决方案。
-
@MitchWheat 表名很简单。实际问题:我正在开发一个最适合 sql db 上的 1 个表(这是我的视图表)的应用程序。当我从应用程序更新记录时,我希望更新流经数据库中的所有相关表。这就是我试图解决的问题。我不想引用应用程序中的所有相关表。我希望这由 sql server 处理
-
不,表名不是微不足道的。就像变量命名一样,它们可以帮助您准确地思考域并使事情更容易理解和维护。 .你有设计缺陷。
-
“我正在开发一个最适合 1 个表格的应用程序” - 这意味着零意义。听起来你真的是在说,你不知道如何更新应用程序中的多个表.....
-
@MitchWheat 任何帮助将不胜感激。表命名和从应用程序更新多个表在这里是脱离上下文的。我希望服务器能够处理任何更新。
标签: sql sql-server database-design ssms