summaryrefslogtreecommitdiffstats
path: root/data/sql/trigger.sql
diff options
context:
space:
mode:
authorHolger Cremer <HolgerCremer@gmail.com>2018-08-27 19:38:11 +0200
committerHolger Cremer <HolgerCremer@gmail.com>2018-08-27 19:38:11 +0200
commit8f2ba2050ee78d0e4a47f1277c6bc4422d06170c (patch)
treec008d2878905e03df7a8bf8bd3330762cc2d8f43 /data/sql/trigger.sql
parentbb55e121576a5b5d225bfc68c5062f386cc32db9 (diff)
parent3fc3ea6c6df237dbdf48d14703118b747bf5d647 (diff)
downloadserial-barcode-scanner-8f2ba2050ee78d0e4a47f1277c6bc4422d06170c.tar.bz2
Merge branch 'master' into better_inventory
Conflicts: README data/templates/products/entry.html docker/Dockerfile docker/init.sh src/database/database.vala src/database/db-interface.vala src/pdf-stock/Makefile src/pdf-stock/pdf-stock-interface.vala src/pdf-stock/pdf-stock.vala src/web/Makefile src/web/main.vala templates/menu.html templates/products/index.html
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;