阿摩線上測驗 登入

申論題資訊

試卷:111年 - 111 臺灣銀行新進人員甄試試題_5 職等/資訊安全人員(二)_科目二:綜合科目,含:(1)邏輯推理(2)計算機概論:作業系統(Windows /Unix)、資料庫 系統(SQL、DB2)、網路基礎概論(TCP/IP)(3)資訊安全概論#111308
科目:銀行◆資訊安全
年份:111年
排序:0

題組內容

第二題: 請回答下列問題:

申論題內容

(三)執行 SQL 語法時,透過交易(Transaction)機制可以避免資料處於不合理的狀 態,請說明 SQL 執行交易(Transaction)的步驟(需列出 SQL 指令名稱並說 明其用途)。【9 分】

詳解 (共 1 筆)

詳解 提供者:hchungw

假設有一個銀行轉賬操作,需要從賬戶 A 轉出 100 元到賬戶 B:

START TRANSACTION;
-- 執行交易操作
UPDATE accounts SET balance = balance - 100 WHERE account_id = 'A';
UPDATE accounts SET balance = balance + 100 WHERE account_id = 'B';
-- 檢查是否有錯誤,根據需要提交或回滾
IF (@@ERROR = 0)
BEGIN
    -- 沒有錯誤,提交交易
    COMMIT;
END
ELSE
BEGIN
    -- 發生錯誤,回滾交易
    ROLLBACK;
END

交易控制的優點

  • 原子性(Atomicity):確保交易中的所有操作要麼全部執行,要麼全部不執行。
  • 一致性(Consistency):確保交易執行後,資料庫從一個一致狀態轉換到另一個一致狀態。
  • 隔離性(Isolation):確保同一時間的多個交易互不干擾,避免並發操作引起的數據不一致。
  • 持久性(Durability):確保交易提交後,其變更會永久保存在資料庫中,即使系統故障也不會丟失。

總結

使用 SQL 交易機制可以有效管理和控制多個 SQL 操作,確保資料的一致性和完整性。通過開始交易、執行操作、提交或回滾交易,可以避免資料處於不合理的狀態,從而提高資料庫應用的可靠性和穩定性。