تمرين إعادة البناء
Stock Decrement
أعد كتابة تحديث مخزون آمن يمنع البيع عندما لا يوجد مخزون.
sql
~12 دقيقة
متوسط
أعد بناء الكود
Rebuild
هذا هو الكود. اكتبه بنفسك.
الكود المرجعي
-- Drill 18 — خفض المخزون بأمان داخل معاملة — SQLite 3.x+
CREATE TABLE products (
id INTEGER PRIMARY KEY,
stock INTEGER NOT NULL CHECK (stock >= 0)
);
INSERT INTO products VALUES (1, 2);
BEGIN;
UPDATE products
SET stock = stock - 1
WHERE id = 1
AND stock > 0;
COMMIT;
SELECT stock
FROM products
WHERE id = 1;اكتب هنا