Oracle table mut…

create or replace trigger OP.update_lis_statue
after insert on op.op_charge
for each row


begin
    if :new.sum_total then
    update   ht.yj_tbs_jycomapplym set t.fcancelflag '1'
    where t.fpatno in(select a.visit_no from op.op_visit a,op.op_charge b
                      where a.visit_id b.visit_id and b.charge_id :new.charge_id)
    and t.fitemno in(select c.item_id from op.op_charge c
                      where c.charge_id :new.charge_id);
    end if;
end update_lis_statue;

 

以上触发器是实现退费后更新某表的标志功能,虽然在pl/sql编译通过,但使用中报错如下:
ORA-04091: table OP.OP_CHARGE is mutating, trigger/function may not see it
ORA-06512: at "OP.UPDATE_LIS_STATUE", line 3
ORA-04088: error during execution of trigger 'OP.UPDATE_LIS_STATUE'
 
分析如下:
                      因为触发器是建立在表op_charged after insert的,所以报错是说明表在after insert后 mutating(改变),按英文意思理解 trigger or function may not see it
 
改代码,解决如下:
create or replace trigger OP.update_lis_statue
after insert on op.op_charge
for each row


begin
    if :new.sum_total then
    update   ht.yj_tbs_jycomapplym set t.fcancelflag '1'
    where t.fpatno in(select a.visit_no from op.op_visit a
                      where a.visit_id :new.visit_id)
    and t.fitemno :new.item_id;
    end if;


end update_lis_statue;
行级操作,其实只要取当前插入行的数据作为约束条件就行了,当初是想太多了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mut正弦波转换锯齿波的过程可以通过将正弦波的周期截取为锯齿形状来实现。首先,我们需要定义正弦波和锯齿波的相关参数,例如振幅、频率和相位。假设我们的正弦波的振幅为A、频率为f、相位为θ,锯齿波的振幅为B、周期为T。 第一步,我们需要确定锯齿波的周期T。锯齿波的周期可以通过正弦波的频率f来求得,即T = 1/f。 第二步,我们需要确定锯齿波的振幅B。锯齿波的振幅可以通过正弦波的振幅A来求得,即B = A。 第三步,我们需要确定锯齿波的形状。锯齿波的形状可以通过正弦波的相位θ来决定。具体而言,锯齿波的形状可以通过将正弦波的周期分成若干等分,然后逐个等分地从-A到+A变化。如果我们将相位θ定义为正弦波距离周期起点的距离,那么锯齿波在这个等分上的值可以通过θ来计算。 最后,我们可以将这个过程应用于整个正弦波的周期,从而得到转换后的锯齿波。具体而言,我们可以从周期起点开始,按照上述步骤逐点地计算锯齿波的值,直到整个周期结束。这样,我们就完成了从mut正弦波转换为锯齿波的过程。 总之,mut正弦波转换锯齿波的关键在于确定锯齿波的周期、振幅和形状,并按照一定的规则来计算锯齿波在每个点上的值。通过这个过程,我们可以将正弦波转换为锯齿波,从而得到具有锯齿状的波形。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值