From 40c84f86e9d7326bb0020c9210e0689179b1102c Mon Sep 17 00:00:00 2001 From: Masaya Tojo Date: Sun, 12 Mar 2023 16:45:59 +0900 Subject: Add function to add new item. --- deploy/insert_item.sql | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 deploy/insert_item.sql (limited to 'deploy/insert_item.sql') 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; -- cgit v1.2.3