oracle触发器,一个表新增、修改的同时同步另一张表


终极新增用户增加触发器版,测试可以用
create or replace trigger tr_tguser_insert  ---触发器名称
before insert on bjlt.sys_user              ---在新增之前进行操作,也有after属性
for each row                   ---每改动一行就同步下数据
begin
  insert into bjlt.tguser(USERID,USERNAME,truename,password,USERTYPE,flag)                        --------------具体同步过程,:new.id新增的那条数据,获取数据中的id
  values(:new.ID,:new.USER_NAME,:new.USER_NAME,:new.PASSWORD,'AA1,AA2,AA3,AA4,AA5,BA1,BB1,CA1,CA3,CB1,CB2,CC1,CC2,CC3,DA1,DB1,DB2,DB3,DB4,EA1,
EB1,EC1',0);
end;
------------------
终极修改用户增加触发器版,测试可以用
create or replace trigger tr_tguser_update
before update on bjlt.sys_user
for each row
begin
  update bjlt.tguser set USERNAME=:new.USER_NAME,truename=:new.USER_NAME,password=:new.PASSWORD
  where USERID=:new.ID;
end;


create or replace trigger TRIG_QUE_TICKET
after insert
or update
on que_ticket
for each row
declare
-- local variables here
begin
IF INSERTING THEN

insert into QUE_TICKET_HIS
(uuid,
ORG_CODE,
QUEUE_ID,
TICKET_NO,
CHANNEL_TYPE,
BUS_CLASSIFY_CODE,
BUSINESS_TYPE,
TICKET_TYPE,
TAKE_TICKET_TIME,
CALL_TICKET_TIME,
ARRIVE_TIME,
FINISH_TIME,
TRAN_DATE,
TRAN_COUNTER_NO,
COUNTER_NO,
TELLER_NO,
STATE,
REMARKS,
delete_flg,
create_user,
create_date,
update_user,
update_date,
update_count) --------------具体同步过程,:new.id新增的那条数据,获取数据中的id
values
(:new.UUID,
:new.ORG_CODE,
:new.QUEUE_ID,
:new.TICKET_NO,
:new.CHANNEL_TYPE,
:new.BUS_CLASSIFY_CODE,
:new.BUSINESS_TYPE,
:new.TICKET_TYPE,
:new.TAKE_TICKET_TIME,
:new.CALL_TICKET_TIME,
:new.ARRIVE_TIME,
:new.FINISH_TIME,
:new.TRAN_DATE,
:new.TRAN_COUNTER_NO,
:new.COUNTER_NO,
:new.TELLER_NO,
:new.STATE,
:new.REMARKS,
:new.DELETE_FLG,
:new.CREATE_USER,
:new.CREATE_DATE,
:new.UPDATE_USER,
:new.UPDATE_DATE,
:new.UPDATE_COUNT);

ELSIF UPDATING THEN
update QUE_TICKET_HIS
set ORG_CODE = :new.ORG_CODE,
QUEUE_ID = :new.QUEUE_ID,
TICKET_NO = :new.TICKET_NO,
CHANNEL_TYPE = :new.CHANNEL_TYPE,
BUS_CLASSIFY_CODE = :new.BUS_CLASSIFY_CODE,
BUSINESS_TYPE = :new.BUSINESS_TYPE,
TICKET_TYPE = :new.TICKET_TYPE,
TAKE_TICKET_TIME = :new.TAKE_TICKET_TIME,
CALL_TICKET_TIME = :new.CALL_TICKET_TIME,
ARRIVE_TIME = :new.ARRIVE_TIME,
FINISH_TIME = :new.FINISH_TIME,
TRAN_DATE = :new.TRAN_DATE,
TRAN_COUNTER_NO = :new.TRAN_COUNTER_NO,
COUNTER_NO = :new.COUNTER_NO,
TELLER_NO = :new.TELLER_NO,
state = :new.state,
remarks = :new.remarks,
delete_flg = :new.delete_flg,
create_user = :new.create_user,
create_date = :new.create_date,
update_user = :new.update_user,
update_date = :new.update_date,
update_count = :new.update_count
where uuid = :new.uuid;

END IF;
end TRIG_QUE_TICKET;

优质内容筛选与推荐>>
1、Android Handler防止内存溢出的写法
2、Java 字符串截取函数 substring()
3、用Python删除本地目录下某一时间点之前创建的所有文件
4、Java代码的静态编译和动态编译中的问题比较
5、移动应用框架


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号