阿摩線上測驗 登入

申論題資訊

試卷:111年 - 111 合作金庫商業銀行第二次新進人員甄試_開放系統第一類程式設計人員_專業科目:(1)程式設計(以 JAVA、SQL 語言為主)(2)系統分析(3)資料結構及資料庫應用#107942
科目:程式設計(以 JAVA、SQL 語言為主)、系統分析、資料結構及資料庫應用
年份:111年
排序:0

題組內容

第五題: 在關聯式資料庫應用中,會利用程式語言撰寫有關處理資料的運作功能,請回答下列問題:

申論題內容

(二)觸發器(Triggers)的定義為何?【3 分】

詳解 (共 1 筆)

詳解 提供者:hchungw

定義

觸發器 (Triggers) 是一種特殊類型的儲存在資料庫中的程序,當特定的資料庫事件(如插入、更新或刪除操作)發生時,自動執行預定義的動作。觸發器是在某個資料表或視圖上定義的,可以用來自動執行業務規則、數據完整性檢查和其他邏輯操作。

特點

  1. 自動執行:一旦設置,觸發器會在指定事件發生時自動運行,而不需要顯式調用。
  2. 基於事件:觸發器是基於資料庫事件設計的,可以針對 INSERT、UPDATE 和 DELETE 操作設置。
  3. 關聯性:通常與特定的資料表或視圖相關聯。
  4. 即時性:觸發器在事件發生時立即執行,確保即時的資料處理和約束檢查。

主要應用場景

  1. 數據完整性:確保資料的一致性和完整性。例如,當插入新紀錄時,觸發器可以自動檢查約束條件是否滿足。
  2. 自動審計:自動記錄資料變更歷史。例如,當資料表中的紀錄被更新或刪除時,觸發器可以將變更記錄到審計表中。
  3. 業務規則實現:實現複雜的業務邏輯。例如,當插入一筆新訂單時,觸發器可以自動更新庫存數量。
  4. 同步處理:在多個表之間保持數據同步。例如,當主表中的數據改變時,觸發器可以自動更新相關的子表。

觸發器的類型

  1. 行級觸發器 (Row-level Triggers)
    • 針對每一行的變更執行一次。通常用於需要逐行處理的邏輯。
  2. 語句級觸發器 (Statement-level Triggers)
    • 針對整個語句執行一次,而不論該語句影響多少行。適用於需要在操作前後執行一次的情境。

觸發器的事件時機

  1. 之前觸發 (BEFORE Triggers)
    • 在事件發生之前執行。例如,在插入一條新紀錄之前檢查資料的有效性。
  2. 之後觸發 (AFTER Triggers)
    • 在事件發生之後執行。例如,更新資料之後記錄審計日志。