如何创建不返回任何内容的函数

时间:2013-01-08 14:09:04

标签: postgresql function plpgsql void

我想用pl/pgsql编写一个函数。 我正在使用 PostgresEnterprise Manager v3 并使用shell来创建一个函数,但在shell中我必须定义返回类型。如果我没有定义返回类型,我就无法创建函数。

如何创建没有返回结果的函数,即创建新表的函数?

2 个答案:

答案 0 :(得分:127)

使用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;

答案 1 :(得分:0)

函数必须始终返回某些内容,尽管您可以使用

之类的过程
do $$

并从正常功能开始,例如

declare
...

但是如果您仍然想执行功能,只需在返回之后添加 void