AzLearn

تمرين إعادة البناء

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;
اكتب هنا