تمرين إعادة البناء
Transaction Transfer
أعد كتابة معاملة تنقل مبلغاً بين حسابين باستخدام BEGIN وCOMMIT.
sql
~12 دقيقة
متوسط
أعد بناء الكود
Rebuild
هذا هو الكود. اكتبه بنفسك.
الكود المرجعي
-- Drill 17 — تحويل رصيد داخل معاملة — SQLite 3.x+
CREATE TABLE accounts (
id INTEGER PRIMARY KEY,
balance_halalas INTEGER NOT NULL CHECK (balance_halalas >= 0)
);
INSERT INTO accounts VALUES
(1, 10000),
(2, 5000);
BEGIN;
UPDATE accounts
SET balance_halalas = balance_halalas - 1000
WHERE id = 1;
UPDATE accounts
SET balance_halalas = balance_halalas + 1000
WHERE id = 2;
COMMIT;
SELECT SUM(balance_halalas) AS total_halalas
FROM accounts;اكتب هنا