sql - 在数据库中更新特定列时在其他表中创建新行
问题描述
我的数据库中有两个表我想设置一个触发器,该触发器在更新第一个表中的特定列之后发生,然后在第三个表上插入一个新行,该行从其他两个表中获取数据是可以设置的它?以及如何在 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、数量然后将它们插入到第三个表中如何在代码中完成?
解决方案
推荐阅读
- sql - 在 Oracle SQL 中使用 SUM 和 CASE
- dynamic - 基于第一列标准的表第二列动态列表
- python - Python:如何拆分WARC文件?
- javascript - 我正在尝试从项目的根目录运行 jest 来测试两个文件,jest 作为开发依赖项安装,但运行测试脚本会抛出 syntaxError?
- vim - 如何在 vim 7.4 中对 ansible 进行自动完成和语法检查?
- amazon-web-services - AWS Neptune 工作台可视化
- spring-boot - 在 Spring Boot 中通过 REST api 处理提交的耗时任务的最佳方法
- mysql - 检查两列之间的时间问题
- android - 使用 Transition 框架移动视图
- latex - 使用 LaTeX Beamer 进行演示,有谁知道如何从参考幻灯片上的框架标题中删除边框?