首页 > 解决方案 > 在数据库中更新特定列时在其他表中创建新行

问题描述

我的数据库中有两个表我想设置一个触发器,该触发器在更新第一个表中的特定列之后发生,然后在第三个表上插入一个新行,该行从其他两个表中获取数据是可以设置的它?以及如何在 SQL Server 上实现它

例如,这是我的第一张桌子

create table ordered_by(
OrderID int NOT NULL PRIMARY KEY,MemberID int, isClean BOOL, barCode int,
FOREIGN KEY (MemberID) REFERENCES Members(MemberID),
FOREIGN KEY (barCode) REFERENCES Products(barCode) );

第二张桌子

create table FINE( Fine_id int not null primary key,
type varchar(10), 
amount float not null, orderID int,
FOREIGN KEY (orderID) REFERENCES ordered_by(orderID));

在第一个表的 isClean 列上更新后,我想在其中插入数据的第三个表

create table debit (memberID int , FineID int , type varchar(10), amount float);

所以第三个表将是空的,除非设置了更新然后我想从第一个和第二个表中选择 memberID、FineID、Type、数量然后将它们插入到第三个表中如何在代码中完成?

标签: sqlsql-server

解决方案


推荐阅读