Kab*_*abi 95 postgresql function plpgsql void
我想写一个函数pl/pgsql.我正在使用PostgresEnterprise Manager v3并使用shell来创建一个函数,但在shell中我必须定义返回类型.如果我没有定义返回类型,我就无法创建函数.
如何在没有返回结果的情况下创建函数,即创建新表的函数?
sqr*_*ept 145
使用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;
Run Code Online (Sandbox Code Playgroud)
Eva*_*oll 13
PROCEDUREsPostgreSQL 11 引入了PROCEDUREs,它们基本上是不返回任何内容的函数,但使用CALL而不是调用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 | | |
Run Code Online (Sandbox Code Playgroud)