summaryrefslogtreecommitdiffstats
path: root/sql/trigger.sql
blob: d26a39db1e494f39956e6f15cf4c40f8d37fc006 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
BEGIN TRANSACTION;
CREATE TRIGGER IF NOT EXISTS update_product_amount_on_restock_insert AFTER INSERT ON restock BEGIN
	UPDATE products SET amount = products.amount + NEW.amount WHERE products.id = NEW.product;
END;

CREATE TRIGGER IF NOT EXISTS update_product_amount_on_restock_delete AFTER DELETE ON restock BEGIN
	UPDATE products SET amount = products.amount - OLD.amount WHERE products.id = OLD.product;
END;

CREATE TRIGGER IF NOT EXISTS update_product_amount_on_restock_update AFTER UPDATE ON restock BEGIN
	UPDATE products SET amount = products.amount - OLD.amount WHERE products.id = OLD.product;
	UPDATE products SET amount = products.amount + NEW.amount WHERE products.id = NEW.product;
END;

CREATE TRIGGER IF NOT EXISTS update_product_amount_on_sales_insert AFTER INSERT ON sales BEGIN
	UPDATE products SET amount = products.amount - 1 WHERE products.id = NEW.product;
END;

CREATE TRIGGER IF NOT EXISTS update_product_amount_on_sales_delete AFTER DELETE ON sales BEGIN
	UPDATE products SET amount = products.amount + 1 WHERE products.id = OLD.product;
END;

CREATE TRIGGER IF NOT EXISTS update_product_amount_on_sales_update AFTER UPDATE ON sales BEGIN
	UPDATE products SET amount = products.amount + 1 WHERE products.id = OLD.product;
	UPDATE products SET amount = products.amount - 1 WHERE products.id = NEW.product;
END;
COMMIT;