当前位置: 首页 > 知识库问答 >
问题:

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

暴骏奇
2023-03-14

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

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

共有3个答案

逑俊楚
2023-03-14

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

do $$

并从正常功能开始,例如

declare
...

但是如果你仍然想做一个函数,只需在返回后添加void。

孙辰阳
2023-03-14

PostgreSQL 11引入了< code >过程,这些过程基本上是不返回任何内容的函数,但调用时使用< code>CALL而不是< code>SELECT,

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

像这样,

=# CREATE PROCEDURE create_table_foo()
AS $$
  CREATE TABLE foo ( id int )
$$ LANGUAGE sql;

=# CALL create_table_foo();


=# \d foo;
                Table "public.foo"
 Column |  Type   | Collation | Nullable | Default 
--------+---------+-----------+----------+---------
 id     | integer |           |          | 
勾学博
2023-03-14

使用< code>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;
 类似资料:
  • 我有一个像这样的mysql表 但是我无法用这个函数检索“成人”和“儿童”的值 错误日志显示变量被正确地传递给函数: 为什么此函数返回?

  • 如何获取java主目录? 这样做的时候 一无所获

  • 我的问题是: 接下来我用 它返回[],即不返回任何内容 但是如果我设置cursor=conn.cursor(),同样的查询会返回一些行!怎么了?为什么我不能使用游标?

  • 问题内容: JDK中是否有一个标准的功能接口,该接口什么都不做,什么也不返回?我找不到一个。类似于以下内容: 问题答案: 那么Runnable呢:

  • TestCase 2: baseChars:['a','b'] 所需字符串长度:1 产出: 有人能帮忙吗?我已经把我的代码放在GitHub里了。如果您可以将我的实现更改为非递归,但保留函数返回类型,也将受到重视。

  • 问题内容: 尽管我发现了与我类似的问题,但我无法独自解决问题。 在我的’../models/user’模型中,我想找到所有用户并将其放入数组,然后将该数组返回给控制器(在这里我将使用信息)。 这是我的代码: 我还注意到,“ console.log(test)”位于“ console.log(docs)”之前。我尝试将’docs’参数作为函数参数传递给’find’,但没有结果。 问题答案: 最好的方