As I understand, in Postgres, procedures are for manipulating data and functions are for reading data. I would like to:
- declare a variable
- select a value into a variable
- insert the variable into another table
- do this in a transaction
- do this in a stored procedure
- roll back if necessary
CREATE PROCEDURE test_variable()
LANGUAGE SQL
AS $$
BEGIN;
DECLARE some_id INTEGER;
SELECT nextval('some_sequence') INTO some_id;
INSERT INTO some_table (some_column) VALUES (some_id);
END;
$$;
The above is not working out for me. When I search for solutions, there's so many different variables involving functions, $$, declaration, thing not returning anything; can't seem to find a simple example; I just need a clear example of the syntax.