SSMS SQL - 使用相关列创建 table
SSMS SQL - Create table with related columns
我有一个包含主键和外键关系的数据库图。然后我在图中创建一个新的 table,外键指向另外 2 个 table。示例:
图中的表:客户、订单和状态
新 table:查看(使用 fk 到客户 (CustID)、订单 (OrID) 和状态 (SID))
在视图 table 中,我想要一列 Ordertype,它应该是 Orders table 的 related/linked 列。
意思是,每当我在新 View table 中更改 Ordertype 的值时,它都会在订单 table 中更新] 还有。
我怎样才能做到这一点?我想我需要 sql 脚本来将这样一个相关的列添加到我的视图 table.
我尝试过的:
关系订单 (PK) 和视图 (FK) 更新 属性 设置为“级联”。
在 tables、Orders 和 View 中为 Ordertype 提供相同的列名和数据类型
但是,这对我不起作用。
谢谢。
外键约束无法帮助您更新数据。您可以尝试使用 DML 触发器。
例如,
CREATE TRIGGER InsertUpdateTrigger ON View
AFTER Insert, Update AS
BEGIN
UPDATE O
SET O.OrderType = I.OrderType
FROM ORDERS O
JOIN INSRTED I on O.orid = I.id(change to your id)
END
我有一个包含主键和外键关系的数据库图。然后我在图中创建一个新的 table,外键指向另外 2 个 table。示例:
图中的表:客户、订单和状态
新 table:查看(使用 fk 到客户 (CustID)、订单 (OrID) 和状态 (SID))
在视图 table 中,我想要一列 Ordertype,它应该是 Orders table 的 related/linked 列。 意思是,每当我在新 View table 中更改 Ordertype 的值时,它都会在订单 table 中更新] 还有。
我怎样才能做到这一点?我想我需要 sql 脚本来将这样一个相关的列添加到我的视图 table.
我尝试过的: 关系订单 (PK) 和视图 (FK) 更新 属性 设置为“级联”。 在 tables、Orders 和 View 中为 Ordertype 提供相同的列名和数据类型 但是,这对我不起作用。
谢谢。
外键约束无法帮助您更新数据。您可以尝试使用 DML 触发器。 例如,
CREATE TRIGGER InsertUpdateTrigger ON View
AFTER Insert, Update AS
BEGIN
UPDATE O
SET O.OrderType = I.OrderType
FROM ORDERS O
JOIN INSRTED I on O.orid = I.id(change to your id)
END