【发布时间】:2013-07-17 07:16:24
【问题描述】:
以下是我的表结构:
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';
- select BlacklistID into var_id from blacklist where customerid='102';
- 插入原因(BlacklistID,ReasonID,ReasonCode)值(var_id,111,'RCODE1');
现在要在 Reason 表中插入条目(步骤 3),我需要 BlacklistID 这是一个外键,一旦客户表上的触发器被执行,我将获得 BlacklistID 的值。所以我的困惑是,我可以假设在 cntrl 到达我的 INSERT INTO 原因(第 3 步)语句之前,“客户”表的更新触发器将始终被执行。请建议。
【问题讨论】:
标签: oracle11g