summaryrefslogtreecommitdiffstats
path: root/data/sql/trigger.sql
diff options
context:
space:
mode:
authorSebastian Reichel <sre@ring0.de>2018-06-29 21:29:16 +0200
committerSebastian Reichel <sre@ring0.de>2018-07-15 22:59:57 +0200
commit98dda4beafd082b96c6dc8b3f44e1589a39069c1 (patch)
tree035c5d79acdddddce6b34dc1a048beef040b8c4f /data/sql/trigger.sql
parentcce1953eb1f8fe8c927a1720c95caed45b71ef1d (diff)
downloadserial-barcode-scanner-98dda4beafd082b96c6dc8b3f44e1589a39069c1.tar.bz2
sql update
Diffstat (limited to 'data/sql/trigger.sql')
-rw-r--r--data/sql/trigger.sql27
1 files changed, 27 insertions, 0 deletions
diff --git a/data/sql/trigger.sql b/data/sql/trigger.sql
new file mode 100644
index 0000000..d26a39d
--- /dev/null
+++ b/data/sql/trigger.sql
@@ -0,0 +1,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;