婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > oracle監控某表變動觸發器例子(監控增,刪,改)

oracle監控某表變動觸發器例子(監控增,刪,改)

熱門標簽:騰訊地圖標注要費用嗎 電渠外呼系統 高德地圖標注公司名字大全 N個你智能電銷機器人 外呼電話系統用卡嗎 廣東營銷智能外呼系統商家 七日殺a19.5全地圖標注 車瑪仕極限運動場所地圖標注 地圖標注怎么保存

使用oracle觸發器 實現對某個表的增改刪的監控操作,并記錄到另一個表中。

代碼:

復制代碼 代碼如下:

create or replace trigger test_trigger 
  before insert or update or delete on test_table 
  for each row 
declare 
  v_id        varchar2(30); 
  v_bdlb      varchar2(1); 
  v_jgdm      VARCHAR2(12); 
  v_jgmc      VARCHAR2(60); 
  v_gajgmc    VARCHAR2(60); 
  v_gajgwsmc  VARCHAR2(30); 
  v_jz        VARCHAR2(30); 
  v_ksdwsdwmc VARCHAR2(30); 
begin 
  /* 
    插入時往歷史表中存放的是新插入的數據. 
    修改時往歷史表中存放的是修改后的數據. 
    刪除時往歷史表中存放的是刪除之前的數據. 
  */ 
  select org_id_s.nextval into v_id from dual; -- 利用seq生成主鍵 
  v_jgdm     := :new.row_id; 
  v_jgmc     := :new.dept_name; 
  v_gajgmc   := :new.dept_name; 
  v_gajgwsmc := :new.bmjc; 
  v_jz       := substr(v_jgdm, 7, 2); 
  if '2' = :new.depttype then 
    v_ksdwsdwmc := 'shiju'; 
  else 
    if '03' = v_jz then 
      v_ksdwsdwmc := 'zhi'; 
    elsif '05' = v_jz then 
      v_ksdwsdwmc := 'xing'; 
    elsif '51' = v_jz then 
      v_ksdwsdwmc := 'she'; 
    else 
      v_ksdwsdwmc := 'qita'; 
    end if; 
  end if; 

  if inserting then 
    v_bdlb := '1'; 
    insert into test_table_h 
      (id, bdlb, jgdm, jgmc, gajgmc, gajgwsmc, jz, ksdwsdwmc) 
    values 
      (v_id, 
       v_bdlb, 
       v_jgdm, 
       v_jgmc, 
       v_gajgmc, 
       v_gajgwsmc, 
       v_jz, 
       v_ksdwsdwmc); 
  elsif updating then 
    v_bdlb := '2'; 
    insert into test_table_h 
      (id, bdlb, jgdm, jgmc, gajgmc, gajgwsmc, jz, ksdwsdwmc) 
    values 
      (v_id, 
       v_bdlb, 
       v_jgdm, 
       v_jgmc, 
       v_gajgmc, 
       v_gajgwsmc, 
       v_jz, 
       v_ksdwsdwmc); 
  else 
    v_bdlb     := '3'; 
    v_jgdm     := :old.row_id; 
    v_jgmc     := :old.dept_name; 
    v_gajgmc   := :old.dept_name; 
    v_gajgwsmc := :old.bmjc; 
    v_jz       := substr(v_jgdm, 7, 2); 
    if '2' = :old.depttype then 
      v_ksdwsdwmc := 'shiju'; 
    else 
      if '03' = v_jz then 
        v_ksdwsdwmc := 'zhi'; 
      elsif '05' = v_jz then 
        v_ksdwsdwmc := 'xing'; 
      elsif '51' = v_jz then 
        v_ksdwsdwmc := 'she'; 
      else 
        v_ksdwsdwmc := 'qita'; 
      end if; 
    end if; 
    insert into test_table_h 
      (id, bdlb, jgdm, jgmc, gajgmc, gajgwsmc, jz, ksdwsdwmc) 
    values 
      (v_id, 
       v_bdlb, 
       v_jgdm, 
       v_jgmc, 
       v_gajgmc, 
       v_gajgwsmc, 
       v_jz, 
       v_ksdwsdwmc); 
  end if; 
end;

您可能感興趣的文章:
  • Oracle中觸發器示例詳解
  • 詳解oracle中通過觸發器記錄每個語句影響總行數
  • Oracle觸發器trigger詳解
  • Oracle觸發器用法實例詳解
  • Oracle創建主鍵自增表(sql語句實現)及觸發器應用
  • Oracle中游標Cursor基本用法詳解
  • Oracle存儲過程游標用法分析
  • Oracle顯示游標的使用及游標for循環
  • 快速學習Oracle觸發器和游標

標簽:棗莊 來賓 玉樹 長沙 大興安嶺 遼寧 贛州 蘇州

巨人網絡通訊聲明:本文標題《oracle監控某表變動觸發器例子(監控增,刪,改)》,本文關鍵詞  oracle,監控,某表,變動,觸發器,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《oracle監控某表變動觸發器例子(監控增,刪,改)》相關的同類信息!
  • 本頁收集關于oracle監控某表變動觸發器例子(監控增,刪,改)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 巴林左旗| 诸城市| 二连浩特市| 昂仁县| 南澳县| 永春县| 西平县| 原阳县| 衡南县| 乐山市| 静乐县| 芦山县| 南部县| 绥化市| 钦州市| 伊宁县| 宜黄县| 全州县| 韶山市| 兴海县| 南京市| 黔西| 武威市| 长武县| 织金县| 射洪县| 晋中市| 商丘市| 井陉县| 施秉县| 谢通门县| 南澳县| 莎车县| 东莞市| 达日县| 泾源县| 石屏县| 萨迦县| 凤山市| 平果县| 类乌齐县|