以下是我的表结构:
Table -Customer
CustomerID Blacklisted Customer Name
101 Y ABC
102 Y DEF
Table -Blacklist
CustomerID BlacklistID Customer Name
101 1011 ABC
102 1012 DEF
Table -Reason
BlacklistID ReasonID Reason Code
1012 02 Rcode2
主表“客户”用于存储客户信息。如果有人将客户表中的黑名单更新为Y,则在“客户”表更新后会触发在“黑名单”表中插入记录。如果 ,我们认为客户被列入黑名单,
- 客户表中的黑名单列作为值“Y”和。
- 黑名单和原因表中存在客户记录
现在我的要求是从后端将客户列入黑名单。为此,我正在编写带有以下查询的存储过程:
- 更新客户集 blacklisted ='Y' where customerid='102';
- 从黑名单中选择 BlacklistID 到 var_id where customerid='102';
- 插入原因(BlacklistID,ReasonID,ReasonCode)values(var_id,111,'RCODE1');
现在要在原因表中插入条目(步骤 3),我需要 BlacklistID 这是一个外键,一旦客户表上的触发器被执行,我将获得 BlacklistID 的值。所以我的困惑是,我可以假设更新触发器在 cntrl 到达我的 INSERT INTO reason(step-3) 语句之前,'Customer' 表的值总是会被执行。请建议。