aboutsummaryrefslogtreecommitdiff
path: root/deploy/insert_item.sql
diff options
context:
space:
mode:
Diffstat (limited to 'deploy/insert_item.sql')
-rw-r--r--deploy/insert_item.sql25
1 files changed, 25 insertions, 0 deletions
diff --git a/deploy/insert_item.sql b/deploy/insert_item.sql
new file mode 100644
index 0000000..9f4e050
--- /dev/null
+++ b/deploy/insert_item.sql
@@ -0,0 +1,25 @@
+-- Deploy kakeibo:insert_item to pg
+-- requires: schema
+-- requires: items
+
+BEGIN;
+
+CREATE OR REPLACE FUNCTION kakeibo.insert_item(
+ p_transaction_id INTEGER,
+ p_category TEXT,
+ p_subcategory TEXT,
+ p_amount INTEGER,
+ p_note TEXT
+) RETURNS INTEGER AS $$
+ DECLARE
+ inserted_id INTEGER;
+ BEGIN
+ INSERT INTO kakeibo.items (transaction_id, category, subcategory, amount, note)
+ VALUES (p_transaction_id, p_category, p_subcategory, p_amount, p_note)
+ RETURNING id INTO inserted_id;
+
+ RETURN inserted_id;
+ END;
+$$ LANGUAGE plpgsql SECURITY DEFINER;
+
+COMMIT;