Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stored procedures Postgres 11存储过程不返回结果_Stored Procedures_Postgresql 11 - Fatal编程技术网

Stored procedures Postgres 11存储过程不返回结果

Stored procedures Postgres 11存储过程不返回结果,stored-procedures,postgresql-11,Stored Procedures,Postgresql 11,在Postgres 11中,存储过程是否不打算返回结果集?因为当我们运行下面的程序时,它说它运行成功了,但是没有返回任何结果 CREATE OR REPLACE PROCEDURE test() LANGUAGE sql AS $$ SELECT * from aTable; $$; call test(); Postgresql过程最多只能返回一个值: CREATE PROCEDURE test (INOUT x int) LANGUAGE sql AS $$ SELECT x

在Postgres 11中,存储过程是否不打算返回结果集?因为当我们运行下面的程序时,它说它运行成功了,但是没有返回任何结果

CREATE OR REPLACE PROCEDURE test()
LANGUAGE sql
AS $$
  SELECT * from aTable;
$$;

call test();

Postgresql过程最多只能返回一个值:

CREATE PROCEDURE test (INOUT x int)
LANGUAGE sql
AS $$
    SELECT x;
$$;

# call test (1);
 x
---
 1
(1 row)
Postgresql功能更加灵活:

create or replace function test()
RETURNS setof atable
language sql
as $$
select * from atable;
$$;

过程的优点是它们可以控制事务。如果您不需要它,则最好使用函数。

如果您想返回结果,请使用函数。