Answers:
用法RETURNS void
如下:
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;
#variable_conflict
:dba.stackexchange.com/a/105828/3684
SELECT * FROM stamp_user(...)
,那么我就会得到error: query has no destination for result data
,如果我只写,stamp_user(...)
我就会得到syntax error
。
#variable_conflict
指令与其余答案无关。它只是示例函数的一部分;唯一重要的一点是RETURNS void
。另外,很酷,我不知道PL / PgSQL有编译指示。