<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Oracle觸發器在MIS 開發中的應用

    時間:2024-10-19 19:38:15 計算機畢業論文 我要投稿
    • 相關推薦

    Oracle觸發器在MIS 開發中的應用

    Oracle觸發器在MIS 開發中的應用

    周海濤 吳良剛

    摘要:本文介紹了oracle觸發器的概念和類型,總結了oracle觸發器在開發MIS中的應用,并提供了實例以供參考.

    關鍵詞:MIS 、觸發器 oracle

    1.引言

    本人在做一個大型的MIS系統(前臺用powerbuild工具,后臺用oracle數據庫)時,常碰到一些有關數據冗長性,批量刪除和動態信息方面的問題,由此發現數據庫觸發器簡單易用。現將有關開發和應用中的一些體會總結成文,供同行參考。

    2.觸發器的概念和類型。

    數據庫觸發器(database triggers)是響應插入、更新或刪除等數據庫事件而執行的過程。它定義了當一些數據庫相關事件發生時應采取的動作。可用于管理復雜的完整性約束,或監控對表的修改,或通知其它程序,表已發生修改。它的類型有:語句級觸發器,以及行級觸發器,前者可以在語句執行前或執行后被觸發。后者在每個觸發語句影響的行觸發一次。還有before和after觸發的命令。在insert,update,和delete之前或之后執行,引用新舊值進行處理。如果需通過觸發器設定插入行中的某列值,則為了訪問“新(new)”值,需使用一個觸發器before insert,使用after insert則不行。Instead of 觸發器命令,使用它告訴oracle應執行什么操作。以上四種大類合成14種小類(略)。各種觸發器的執行順序如下:

    ⑴ 如果有,最先執行語句級before觸發器。

    ⑵ 每個insert,delete,update影響的行;

    ① 如果有,最先執行行級before

    ② 執行行的delete或update

    ③ 如果有,執行行級after觸發器

    ⑶ 如果有,執行語句級after觸發器

    3.使用數據庫觸發器管理數據冗余性

    為了數據分析和制作報表的需要,用戶在數據模型中加入了冗余數據,應使用觸發器,以保證數據的完整性。

    冗余數據可以用規定的 for each row選項的before update觸發器進行管理。update 命令可放在觸發器中對所有需要更新的冗余數據進行更新,如客戶表和訂單表,訂單表包括客戶的訂單和客戶表的冗余信息,客戶表(customer)的表結構:客戶號(cu_no)、客戶名(cu_name)、客戶地址(cu_address)。訂單表(order)的表結構:訂單號(or_no),客戶號(or_no),客戶名(cu_name),客戶地址(cu_address),當客戶基表中的數據被更新時更新訂單中的冗余列。語法如下:

    create or replace trigger bj_customer

    before update on customer

    for each row

    begin

    update order set

    cu_no=:new.cu_no,

    cu_name=:new.cu_name,

    cu_address=:new.cu_addess,

    where cu_no=:old.cu_no;

    end;

    4.用觸發器完成數據復制

    如果需求非常有限,可以用數據觸發器從一個數據庫中向另一個數據庫復制數據,如果數據復制需求僅與數據的插入有關,當一條記錄插入到一個數據庫中的某個基表中時,用戶還希望把這條記錄插入到一個遠程數據庫中,需用create database link語句創建一條到遠程數據庫的連接,一旦創建了一條數據庫連接后,就可以在基表上創建一個after insert觸發器,以把每一條記錄插入到遠程數據庫中。

    (1)在腳本中創建數據庫連接(database link)bj_ysd_remote基表作為數據庫基表,Bj_ysd_local代表本地數據庫上的源基表。

    Creat database link remote(連接名)

    Connect to bj(帳戶) indentified by bj(密碼)

    Using ‘:2’;

    (2)復制記錄

    create or replace trigger trig_ysd(觸發器名)

    after insert on bj_ysd_local

    for each row

    begin

    insert into bj_ysd_remote@dblink remote

    value(:new.x1,:new.x2,……)/*x1.x2代表字段名*/

    end;

    (3)刪除記錄

    create or replace trigger trig_ys

    【Oracle觸發器在MIS 開發中的應用】相關文章:

    MIS開發中軟件工程方法的運用03-18

    ORACLE RAC集群在電力營銷系統中的應用03-18

    對MIS 開發模式的策略研究03-18

    項目管理在ASP軟件開發中的應用03-23

    Oracle Portal及其門戶網站開發概述03-18

    談計算機在油氣田開發中的應用03-18

    探析計算機在油氣田開發中的應用03-18

    基于Oracle數據庫的邏輯數據同步技術在實踐中的應用研究03-10

    CODARTS建模方法在嵌入式軟件開發中的應用03-18

    主站蜘蛛池模板: 国产精品亚洲精品| 夜色www国产精品资源站| 精品国产欧美一区二区| 日本精品久久久久影院日本| 久久久精品午夜免费不卡| 无码精品A∨在线观看中文| 久久青青草原精品国产不卡| 精品999在线| 国产精品午睡沙发系列| 亚洲性日韩精品国产一区二区| 国产精品hd免费观看| 国产精品成人va在线观看| 久久久无码精品亚洲日韩按摩 | 久久96国产精品久久久| 婷婷国产成人精品视频| 久久无码人妻精品一区二区三区 | 亚洲精品在线观看视频| 久久99久久99精品免视看动漫| 午夜精品久久久久久影视777| 国产精品国产三级在线高清观看 | 国产精品九九久久精品女同亚洲欧美日韩综合区 | 中文国产成人精品久久不卡| 国产精品美女WWW爽爽爽视频| 国产成人vr精品a视频| 老司机67194精品线观看| 综合精品欧美日韩国产在线| 无码日韩精品一区二区人妻| 久夜色精品国产一区二区三区| 国产成人高清精品免费观看| 秋霞久久国产精品电影院| 国产精品久久亚洲不卡动漫| 国产伦精品免编号公布| 无码国产精品一区二区免费模式| 中文精品久久久久人妻| 亚洲精品成人在线| 无翼乌无遮挡全彩老师挤奶爱爱帝国综合社区精品 | 国产精品污WWW在线观看| 亚洲国产精品成人一区| 久久免费国产精品| 热综合一本伊人久久精品| 久久亚洲精品无码播放|