网络编程
位置:首页>> 网络编程>> 数据库>> oracle 存储过程和触发器复制数据(2)

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

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

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

二,触发器的创建。

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;

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com