问题
I want to write a function with pl/pgsql
.
I'm using PostgresEnterprise Manager v3 and using shell to make a function, but in the shell I must define return type. If I don't define the return type, I'm not able to create a function.
How can create a function without return result, i.e a Function that creates a new table?
回答1:
Use RETURNS void
like below:
CREATE FUNCTION stamp_user(id int, comment text) RETURNS void AS $$
#variable_conflict use_variable
DECLARE
curtime timestamp := now();
BEGIN
UPDATE users SET last_modified = curtime, comment = comment
WHERE users.id = id;
END;
$$ LANGUAGE plpgsql;
回答2:
Functions must always return something, although you can use procedures like
do $$
and start with normal function like
declare
...
but if you still want to do a function just add void after returns.
来源:https://stackoverflow.com/questions/14216716/how-to-create-function-that-returns-nothing