oracle存储过程不按顺序执行,oracle11g – Oracle存储过程中触发器和语句的执行顺序...

以下是我的表格结构:

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,则在“客户”表上更新后会触发记录在“黑名单”表中.

如果,我们认为客户被列入黑名单

>将Customer表中的列列为值’Y’和.

>黑名单和原因表中有客户记录

现在我的要求是将客户从后端列入黑名单.为此我正在使用以下查询编写存储过程:

>更新客户设置blacklisted =’Y’,其中customerid =’102′;

>从blacklist中选择BlacklistID到var_id中,其中customerid =’102′;

>插入原因(BlacklistID,ReasonID,ReasonCode)值(var_ id,111,’RCODE1′);

现在要在Reason表中插入条目(步骤3),我需要BlacklistID这是一个外键,一旦客户表上的触发器得到规定,我将得到BlacklistID的值.所以我的困惑是,我可以假设触发更新在cntrl到达我的INSERT INTO reason(步骤3)语句之前,’Customer’表总是会被执行.请建议.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值