題組內容

第二題: SQL 是用來存取關聯式資料庫系統的結構化查詢語言,它可用來操作及管理資料庫的程 式敘述,請分別說明以下內容: (一)在 SQL 資料交易過程中,其 SQL 程式有下列資料交易敘述,請說明它們的功能? 【8 分】

(b). ROLLBACK

詳解 (共 1 筆)

詳解 提供者:hchungw
BEGIN TRANSACTION;
-- 插入一條記錄
INSERT INTO orders (order_id, order_date, customer_id)
VALUES (1, '2024-06-18', 'C001');
-- 更新庫存
UPDATE products
SET stock = stock - 10
WHERE product_id = 'P001';
-- 假設此處發生某些錯誤,例如庫存不足
IF (SELECT stock FROM products WHERE product_id = 'P001') < 0 THEN
    ROLLBACK;
    -- 結束交易並報錯
    PRINT '訂單失敗,庫存不足';
    RETURN;
END IF;
-- 如果沒有錯誤,提交交易
COMMIT;
在這個例子中,如果庫存不足,則執行 ROLLBACK 撤銷之前的所有操作,確保庫存和訂單數據的一致性。