Postgres 11 存储过程不返回结果
Postgres 11 Stored Procedure not returning results
在 Postgres 11 中,存储过程不是要 return 结果集吗?因为当我们 运行 以下内容时,它说 运行 成功但没有结果 returned。
CREATE OR REPLACE PROCEDURE test()
LANGUAGE sql
AS $$
SELECT * from aTable;
$$;
call test();
Postgresql 程序最多可以 return 单个值:
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;
$$;
程序的优点是可以控制事务。如果你不需要它,你最好使用一个函数。
在 Postgres 11 中,存储过程不是要 return 结果集吗?因为当我们 运行 以下内容时,它说 运行 成功但没有结果 returned。
CREATE OR REPLACE PROCEDURE test()
LANGUAGE sql
AS $$
SELECT * from aTable;
$$;
call test();
Postgresql 程序最多可以 return 单个值:
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;
$$;
程序的优点是可以控制事务。如果你不需要它,你最好使用一个函数。