一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - oracle 存儲過程和觸發器復制數據

oracle 存儲過程和觸發器復制數據

2019-11-08 15:46oracle教程網 Oracle

oracle 存儲過程和觸發器復制數據的代碼,需要的朋友可以參考下。

一。存儲過程的創建和使用

1.創建程序包,并在程序中創建存儲過程

create or replace

PACKAGE NCS_ICP_TJ AS

/*[email protected]*/

/* TODO 在此輸入程序包聲明 (類型, 異常錯誤, 方法等) */

/*根據備案主體ID拷貝通過表備案數據到備案臨時表,拷貝5張*/

PROCEDURE ICP_PASS_TO_TEMP(

v_main_id IN icp_gn_temp_baxx_zt.ztid%TYPE,

v_lyd IN icp_gn_temp_baxx_zt.SJXT_ZTID%TYPE,

v_in_hmd IN icp_gn_temp_baxx_zt.in_hmd%TYPE,

v_czlb IN icp_gn_temp_baxx_zt.czlb%TYPE,

v_bajd IN icp_gn_temp_baxx_zt.bajd%TYPE

);

END NCS_ICP_TJ;

2.創建程序包包體,并在程序中創建存儲過程實現

create or replace

PACKAGE BODY ncs_icp_tj AS

/*根據備案主體ID拷貝通過表備案數據到備案臨時表,拷貝5張*/

PROCEDURE ICP_PASS_TO_TEMP(

v_main_id IN icp_gn_temp_baxx_zt.ztid%TYPE,

v_lyd IN icp_gn_temp_baxx_zt.SJXT_ZTID%TYPE,

v_in_hmd IN icp_gn_temp_baxx_zt.in_hmd%TYPE,

v_czlb IN icp_gn_temp_baxx_zt.czlb%TYPE,

v_bajd IN icp_gn_temp_baxx_zt.bajd%TYPE

)

IS

v_lsh integer;

BEGIN

select SEQ_ICP_GN_TEMP_BAXX_ZT_ZTID.NEXTVAL into v_lsh from dual;

IF v_main_id IS NULL OR v_lyd IS NULL OR v_in_hmd IS NULL OR v_czlb IS NULL OR v_bajd IS NULL THEN

RAISE_APPLICATION_ERROR(-20000, 'Exsit null value in arguments.');

END IF;

/*所有插入的查詢條件為主體ID*/

/* 插入主體*/

INSERT INTO ICP_GN_TEMP_BAXX_ZT

(LSH, BBDW,ZTID, SJXT_ZTID, YHM_ID, IN_HMD, CZLB, SCBBSJ, ZJXGSJ, 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, BAJD, ZSYXQ, SHR_XM,

SHSJ, BZ, LRYHLX, LR_YHM_ID, BAMM)

SELECT

v_lsh, BBDW, v_main_id, SJXT_ZTID, YHM_ID, v_in_hmd/*是否在黑名單*/, v_czlb/*操作類別*/, SCBBSJ, ZJXGSJ, 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,v_bajd/*備案階段*/, ZSYXQ, SHR_XM,

SHSJ,BZ, LRYHLX, LR_YHM_ID, BAMM

FROM ICP_GN_BAXX_ZT WHERE ID = v_main_id;

/*插入網站*/

INSERT INTO ICP_GN_TEMP_BAXX_WZ

(LSH,BBDW,WZID, ZTID, SJXT_WZID, SCBBSJ, XGSJ, WZMC, SYURL, WZFZR, WZFZR_ZJLX, WZFZR_ZJHM, WZFZR_DHHM, WZFZR_SJHM, WZFZR_DZYJ, WZFZR_MSN, WZFZR_QQ, NRLX, FWNR, BAXH, LRYHLX, LR_YHM_ID, BAMM, BZ,BAJD)

SELECT

v_lsh,BBDW,id, v_main_id, SJXT_WZID, SCBBSJ, XGSJ, WZMC, SYURL, WZFZR, WZFZR_ZJLX, WZFZR_ZJHM, WZFZR_DHHM, WZFZR_SJHM, WZFZR_DZYJ, WZFZR_MSN, WZFZR_QQ, NRLX, FWNR, BAXH, LRYHLX, LR_YHM_ID, BAMM, BZ,1

FROM ICP_GN_BAXX_WZ

WHERE ZTID = v_main_id;

/*插入接入*/

INSERT INTO ICP_GN_TEMP_BAXX_JR

(lsh, bbdw,JRID, ZTID, WZID, SJXT_JRID, SSISP, WZFB, WZJRFS, LRYHLX, LR_YHM_ID, BAMM, bajd)

SELECT

v_lsh, bbdw,ID, v_main_id, WZID, SJXT_JRID, SSISP, WZFB, WZJRFS, LRYHLX, LR_YHM_ID, BAMM,v_bajd

FROM ICP_GN_BAXX_JR

WHERE ZTID =v_main_id;

/*插入IP*/

INSERT INTO ICP_GN_TEMP_BAXX_IPLB

(lsh,bbdw,IPID, ZTID, WZID, JRID, SJXT_IPID, QSIP, ZZIP)

SELECT v_lsh, bbdw,ID, v_main_id, WZID, JRID, SJXT_IPID, QSIP, ZZIP

FROM ICP_GN_BAXX_IPLB

WHERE ZTID = v_main_id;

/*插入域名*/

INSERT INTO ICP_GN_TEMP_BAXX_YMLB

(lsh, bbdw,YMID, ZTID, WZID, SJXT_YMID, YM)

SELECT

v_lsh, bbdw,ID, v_main_id, WZID, SJXT_YMID, YM

FROM ICP_GN_BAXX_YMLB

WHERE ZTID = v_main_id;

END ICP_PASS_TO_TEMP;

END ncs_icp_tj;

3. 調用存儲過程,call ncs_icp_tj.icp_pass_to_temp(5,1,0,2,17)

本存儲過程的調用,實現了從5張通過表復制數據到5張臨時表

二,觸發器的創建。

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;

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲天堂视频在线播放 | 免费一级特黄特色大片 | 日本黄a三级三级三级 | 学校女性奴sm训练调教 | 91久久碰国产 | 国产精品视频一区二区三区经 | 男女污网站 | 99草视频 | 日本漫画工囗全彩番在线 | 小草高清视频免费直播 | 欧美视频久久 | 甜蜜惩罚小说 | 国产日韩欧美色视频色在线观看 | 国产成人免费片在线观看 | 欧美一级裸片 | 人禽l交视频在线播放 视频 | 短篇艳妇系列 | 青青青在线视频 | 免费一级国产生活片 | 国产美女屁股直流白浆视频无遮挡 | 91大神在线精品播放 | julia ann一hd | 亚洲精品www久久久久久久软件 | 午夜十八岁禁 | 国产精品反差婊在线观看 | 国产区成人综合色在线 | 99精品99| 日韩精品成人a在线观看 | 日本妇人成熟免费观看18 | 无限国产资源 | 免费观看俄罗斯特黄特色 | 大学生按摩黄a级中文片 | 亚洲精品国产A久久久久久 亚洲精品福利一区二区在线观看 | 继的朋友无遮漫画免费观看73 | 果冻传媒mv在线观看入口免费 | 调教禽兽 | 日产乱码卡1卡2卡三免费 | 免费被靠视频动漫 | 色综合欧美色综合七久久 | 果冻传媒在线播放观看228集 | pron欧美|