oracle格納プロセスとフリップフロップコピーデータ


一。格納プロセスの作成と使用1.パッケージを作成し、プログラムに格納プロセスcreate or replace PACKAGE NCS_を作成する。ICP_TJ AS/*[email protected]*/*TODOここでプログラムパッケージ声明(タイプ、異常エラー、方法など)を入力します。*/*は登録主体IDに基づいてテーブル登録データをコピーして登録臨時テーブルに記録して、5枚の*/PROCEURE ICP_をコピーします。PASS_TOTEMP(v_メーンid IN icp_gn_temp_baxx_zt.ztid%TYPE、v_lyd IN icp_gn_temp_baxx_zt.SJXT_ZTID%TYPE、v_同前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枚の*/PROCEURE ICP_をコピーします。PASS_TOTEMP(v_メーンid IN icp_gn_temp_baxx_zt.ztid%TYPE、v_lyd IN icp_gn_temp_baxx_zt.SJXT_ZTID%TYPE、v_同前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 dualIF v_メーンid IS NULL OR v_lyd IS NULL OR v_同前hmd IS NULL OR v_czlb IS NULL OR v_bajd IS NULL THEN RAISE_APPLICATION_ERROR(-20000、'Exsit null value in argments.')END IF;/*挿入されたクエリーの条件は、本体ID*/*挿入本体*/INSERT INTO ICP_GNアーツTEMP_BAXX_ZT(LSH,BBDW,ZTID,SJXT_ZTID,YHM_ID,IN_HMD、CZLB、SCBBSJ、ZJXGS J、DWMC、DWXZ、TZZ、ZJLX、ZJHM、SHENGID、SHIID、XIANID、XDZ、ZJJLX、WZFZR、WZFZR_ZJLX,WZFZR_ZJHM,WZFZR_DHM,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_メーンid,SJXT_ZTID,YHM_ID,v_同前hmd/*はブラックリストにあるかどうか*/、v_czlb/*操作カテゴリ*/SCBBSJ,ZJXGS J,DWMC,DWXZ,TZZ,ZJLX,ZJHM,SHENGID,SHIID,XIANID,XDZ,ZJJLX,WZFZR,WZFZR_ZJLX,WZFZR_ZJHM,WZFZR_DHM,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_メーンid;/*挿入サイト*/INSERT INTO ICP_GNアーツTEMP_BAXX_WZ(LSH,BBDW,WZIO,ZTID,SJXT_WZIP,SCBBSJ,XGSJ,WZMC,SY URL,WZFZR,WZFZR_ZJLX,WZFZR_ZJHM,WZFZR_DHM,WZFZR_SJHM,WZFZR_DZYJ,WZFZR_MSN,WZFZR_QQ、NRLX、FWNR、BAXH、LRYHLX、LR_YHM_ID,BAMM,BZ,BAJD)SELECT v_lsh、BBDW、id、v_メーンid,SJXT_WZIP,SCBBSJ,XGSJ,WZMC,SY URL,WZFZR,WZFZR_ZJLX,WZFZR_ZJHM,WZFZR_DHM,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_メーンid;/*挿入アクセス*/INSERT INTO ICP_GNアーツTEMP_BAXX_JR(lsh,bbbdw,JRID,ZTID,WZRD,SJXT_JRID,SSISP,WZFB,WZJRFS,LRYHLX,LR_YHM_ID,BAMM,bajd)SELECT v_lsh,bbbdw,ID,v_メーンid,WZIP,SJXT_JRID,SSISP,WZFB,WZJRFS,LRYHLX,LR_YHM_ID,BAMM,v_bajd FROM ICP_GNアーツBAXX_JR WHERE ZTID=v_メーンid;/*IP*/INSERT INTO ICP_を挿入します。GNアーツTEMP_BAXX_IPLB(lsh,bbbbdw,IPID,ZTID,WZIPD,JRID,SJXT_IPID、QSIP、ZZZIP)SELECT v_lsh,bbbdw,ID,v_メーンid,WZIP,JRID,SJXT_IPID,QSIP,ZZZIPP FROM ICP_GNアーツBAXX_IPLB WHERE ZTID=v_メーンid;/*ドメイン名*/INSERT INTO ICP_を挿入します。GNアーツTEMP_BAXX_YMLB(lsh,bbbbdw,YMID,ZTID,WZIF,SJXT_YMID,YM)SELECT v_lsh,bbbdw,ID,v_メーンid,WZIP,SJXT_YMID,YM FROM ICP_GNアーツBAXX_YMLB WHERE ZTID=v_メーンid;END ICP_PASS_TOTEMP;END ncs_icp_tj;3.保存プロセスを呼び出し、call ncs_icp_tj.icp_pass_to_temp(5、1、0、2、17)本格納プロセスの呼び出しは、5枚のテーブルコピーデータから5枚の一時テーブル2、フリップフロップの作成を実現しました。1.行レベルトリガーは、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_XGLAS_ZT(ID,LSH,BBDW,LS_ID,ZTID,SJXT_ZTID、DWMC、DWXZ、TZZ、ZJLX、ZJHM、SHENGID、SHIID、XIANID、XDZ、ZJZZS、JYLX、WZFZR、WZFZR_ZJLX,WZFZR_ZJHM,WZFZR_DHM,WZFZR_SJHM,WZFZR_DZYJ,WZFZR_MSN,WZFZR_QQ、BAXH、SHR_XM,SHSJ,BZ,LRYHLX,LR_YHM_ID,BAMM)values(SEQ_ICP_GNアーツBAXX_XGLAS_ZT_ID.NEXTVAL、:new.LSH、:new.BBDW、:new.C ZLB、:new.ZTID、:new.SJXT_ZTID、:new.DWMC、:new.DWXZ、:new.TZZZ、:new.ZJLX、:new.SHENGID、:new.XIANID、:new.XIANID、:new.ZZZZZZZS、:new.JFZZZYX、WWZZZZZZZZZZZZZLR:ZJLX:new.WZFZR_ZJHM:new.WZFZR_DHM,: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_WZINSERT AFTER INSERT ON ICP_GNアーツTEMP_BAXX_WZ FOR EACH ROW BEGIN insert into ICP_GNアーツBAXX_XGLAS_WZ(ID,LSH,BBDW,WZIO,ZTID,SJXT_WZIP,WZMC,SY URL,WZFZR,WZFZR_ZJLX,WZFZR_ZJHM,WZFZR_DHM,WZFZR_SJHM,WZFZR_DZYJ,WZFZR_MSN,WZFZR_QQ、NRLX、FWNR、BAXH、LRYHLX、LR_YHM_ID,BZ,ls_id)values(SEQ_ICP_GNアーツBAXX_XGLAS_WZID.NEXTVAL、:new.LSH、:new.BBDW、:new.WZED、:new.ZTID、:new.SJXT_WZIP,:new.WZMC,:new.SY URL,:new.WZFZR,:new.WZFZR_ZJLX:new.WZFZR_ZJHM:new.WZFZR_DHM,: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_XGLAS_JR(ID,lsh,bbbbdw,JRID,ZTID,WZRD,SJXT_JRID,SSISP,WZFB,WZJRFS,LRYHLX,LR_YHM_ID,ls_id)values(SEQ_ICP_GNアーツBAXX_XGLAS_JR_ID.NEXTVAL、:new.lsh、:new.bbbbbdw、:new.JRID、:new.ZTID、:new.WZIO、: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_XGLAS_IPLB(ID,lsh,bbbbdw,IPID,ZTID,WZIPD,JRID,SJXT_IPID,QSIP,ZZZIP,ls_id)values(SEQ_ICP_GNアーツBAXX_XGLAS_IPLB_ID.NEXTVAL、:new.lsh、:new.bbbbdw、:new.IPID、:new.ZTID、:new.WZID、:new.JRID、:new.SJXT_IPID、:new.QSIP、:new.ZZZZZIP、1);END;2.表レベルのトリガーを全過程に挿入し、トリガーは一回だけの行で、AAAテーブルにデータを入れると、本当にAAAテーブルのデータをBBBテーブルcreate or replace TRIGGER TRIGGER_をコピーする。AAA_INSERT AFT INSERT ON AAA BEGIN insert into BBB(userid、username)select id,username from AAA;END;