创建一个触发

这里写自定义目录标题


CREATE OR REPLACE TRIGGER “ZXX_TS”.“UPDATETST”
AFTER UPDATE --指定触发时机为修改操作后
ON ts
FOR EACH ROW --说明创建的是行级触发器
declare
v_num number:=0;
BEGIN
if :old.cs<:new.cs then

begin
<<while_loop>>
while (v_num<(:new.cs-:old.cs))
loop
–将修改前数据插入到日志记录表 del_emp ,以供监督使用。
INSERT INTO TST (pk,txm,ttxm,tslb,nyr,saas)
values( sys_guid(),nvl((SELECT replace(lpad(nvl(MAX(to_number(T.TXM)),000000)+1,6),’ ',‘0’) AS MAXTXM FROM TST T where t.saas=:new.saas),(select s.TXMPREFIX+1 from umsaas s where s.umsaascood=:new.saas)) ,:new.txm,:new.tslb,:new.nyr,:new.saas);
v_num:=v_num+1;
end loop while_loop;
end ;
end if ;

if :old.cs>:new.cs then

begin
<<while_loop>>
while (v_num<(:old.cs-:new.cs))
loop
INSERT INTO TSTbf (pk,txm,ttxm,tslb,nyr,saas,createtime)
values( sys_guid(),nvl((SELECT replace(lpad(nvl(MAX(to_number(T.TXM)),000000),6),’ ',‘0’) AS MAXTXM FROM TST T where t.saas=:new.saas and t.ttxm=:new.txm),(select s.TXMPREFIX+1 from umsaas s where s.umsaascood=:new.saas)) ,:new.txm,:new.tslb,:new.nyr,:new.saas,sysdate);

delete from tst t where t.saas=:new.saas and t.txm in ((SELECT replace(lpad(nvl(MAX(to_number(T.TXM)),000000),6),’ ',‘0’) AS MAXTXM FROM TST T where t.saas=:new.saas and t.ttxm=:new.txm)) and t.ttxm=:new.txm;
v_num:=v_num+1;
end loop while_loop;
end ;
end if ;
end;

:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值