oracle 存储过程和触发器复制数据(2)

来源:asp之家 时间:2009-11-17 09:12:00 

二,触发器的创建。

1.行级触发器,没插入一条数据执行一次, 向临时表中加入数据时,执行此触发器,把临时表插入到临时表的数据复制的日志表中

create or replace 
TRIGGER TRIGGER_ICP_TEMP_ZT_INSERT 
AFTER INSERT ON ICP_GN_TEMP_BAXX_ZT 
FOR EACH ROW 
BEGIN 
insert into ICP_GN_BAXX_XGLS_ZT 
(ID,LSH, BBDW,LS_ID,ZTID,SJXT_ZTID, DWMC, DWXZ, TZZ, ZJLX, ZJHM, SHENGID, 
SHIID, XIANID, XXDZ, ZJZS,JYLX, WZFZR, WZFZR_ZJLX, WZFZR_ZJHM, WZFZR_DHHM, WZFZR_SJHM, 
WZFZR_DZYJ, WZFZR_MSN, WZFZR_QQ, BAXH, SHR_XM, 
SHSJ, BZ, LRYHLX, LR_YHM_ID, BAMM) 
values(  
SEQ_ICP_GN_BAXX_XGLS_ZT_ID.NEXTVAL,:new.LSH, :new.BBDW,:new.CZLB,:new.ZTID,:new.SJXT_ZTID, :new.DWMC, :new.DWXZ, :new.TZZ, :new.ZJLX, :new.ZJHM, :new.SHENGID, 
:new.SHIID, :new.XIANID, :new.XXDZ, :new.ZJZS,:new.JYLX, :new.WZFZR, :new.WZFZR_ZJLX, :new.WZFZR_ZJHM, :new.WZFZR_DHHM, :new.WZFZR_SJHM, 
:new.WZFZR_DZYJ, :new.WZFZR_MSN, :new.WZFZR_QQ, :new.BAXH, :new.SHR_XM, 
:new.SHSJ, :new.BZ, :new.LRYHLX, :new.LR_YHM_ID, :new.BAMM); 
END; 

create or replace TRIGGER TRIGGER_ICP_TEMP_WZ_INSERT 
AFTER INSERT ON ICP_GN_TEMP_BAXX_WZ 
FOR EACH ROW 
BEGIN 
insert into ICP_GN_BAXX_XGLS_WZ 
(ID, 
LSH,BBDW,WZID, ZTID, SJXT_WZID, WZMC, SYURL,WZFZR, WZFZR_ZJLX, WZFZR_ZJHM, WZFZR_DHHM, 
WZFZR_SJHM, WZFZR_DZYJ, WZFZR_MSN, WZFZR_QQ, NRLX, FWNR, BAXH, LRYHLX, LR_YHM_ID,BZ, ls_id) 
values( SEQ_ICP_GN_BAXX_XGLS_WZ_ID.NEXTVAL, 
:new.LSH,:new.BBDW,:new.WZID, :new.ZTID, :new.SJXT_WZID, :new.WZMC, :new.SYURL,:new.WZFZR, :new.WZFZR_ZJLX, :new.WZFZR_ZJHM, :new.WZFZR_DHHM, 
:new.WZFZR_SJHM, :new.WZFZR_DZYJ, :new.WZFZR_MSN, :new.WZFZR_QQ, :new.NRLX, :new.FWNR, :new.BAXH, :new.LRYHLX, :new.LR_YHM_ID,:new.BZ,1); 
END; 

create or replace 
TRIGGER TRIGGER_ICP_TEMP_JR_INSERT 
AFTER INSERT ON ICP_GN_TEMP_BAXX_JR 
FOR EACH ROW 
BEGIN 
insert into ICP_GN_BAXX_XGLS_JR 
(ID, 
lsh, bbdw,JRID, ZTID, WZID, SJXT_JRID, SSISP, 
WZFB, WZJRFS, LRYHLX, LR_YHM_ID, ls_id 

values (SEQ_ICP_GN_BAXX_XGLS_JR_ID.NEXTVAL, 
:new.lsh, :new.bbdw,:new.JRID, :new.ZTID, :new.WZID, :new.SJXT_JRID, :new.SSISP, 
:new.WZFB, :new.WZJRFS, :new.LRYHLX, :new.LR_YHM_ID,1); 
END; 

create or replace 
TRIGGER TRIGGER_ICP_TEMP_IPLB_INSERT 
AFTER INSERT ON ICP_GN_TEMP_BAXX_IPLB 
FOR EACH ROW 
BEGIN 
insert into ICP_GN_BAXX_XGLS_IPLB 
(ID, 
lsh,bbdw,IPID, ZTID, WZID, JRID, SJXT_IPID, QSIP, ZZIP, ls_id 

values( SEQ_ICP_GN_BAXX_XGLS_IPLB_ID.NEXTVAL, 
:new.lsh,:new.bbdw,:new.IPID, :new.ZTID, :new.WZID, :new.JRID, :new.SJXT_IPID, :new.QSIP, :new.ZZIP,1); 
END; 

2.表级触发器 插入整个过程中,触发器只之行一次 ,当向AAA表中如入一条数据,将真个AAA表的数据复制BBB表

create or replace 
TRIGGER TRIGGER_AAA_INSERT 
AFTER INSERT ON AAA 
BEGIN 
insert into BBB(userid, username) 
select id, username from AAA; 
END;

标签:oracle,存储过程,触发器
0
投稿

猜你喜欢

  • IE7下 filter:Alpha(opacity=xx) 的小问题

    2008-12-02 16:24:00
  • Python利用命名空间解析XML文档

    2021-10-06 05:45:32
  • 三招解决SQL Server数据库权限冲突

    2009-03-16 16:58:00
  • pandas分组聚合详解

    2023-06-28 15:50:25
  • 详解Python中while无限迭代循环方法

    2022-08-17 12:53:48
  • PyCharm中关于安装第三方包的三个建议

    2022-03-25 20:08:41
  • 给Django Admin添加验证码和多次登录尝试限制的实现

    2022-10-17 01:09:34
  • Python中print和return的作用及区别解析

    2023-11-27 10:54:44
  • MySQL主从搭建(多主一从)的实现思路与步骤

    2024-01-18 01:14:02
  • MySQL通过自定义函数实现递归查询父级ID或者子级ID

    2024-01-19 03:30:07
  • python数组的复制与列表中的pop

    2021-07-10 12:05:24
  • Python高级用法总结

    2021-04-20 13:03:01
  • SQLServer2014故障转移群集的部署的图文教程

    2024-01-28 23:30:06
  • Oracle存储过程基本语法介绍

    2023-06-27 14:00:26
  • python设置表格边框的具体方法

    2023-11-13 08:08:48
  • darknet框架中YOLOv3对数据集进行训练和预测详解

    2023-11-21 23:11:15
  • C#中把FastReport.Net报表控件的数据保存到数据库

    2024-01-20 12:07:18
  • Python将多个list合并为1个list的方法

    2023-10-17 10:13:17
  • MySQL关于字符串中数字排序的问题分析

    2024-01-21 23:30:18
  • 简单谈谈CommonsChunkPlugin抽取公共模块

    2024-04-19 10:14:27
  • asp之家 网络编程 m.aspxhome.com