gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 17:01:48 24 4
gpt4 key购买 nike

在 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;
$$;

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

关于stored-procedures - Postgres 11 存储过程不返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53787546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com