PostgreSQL 文档说
还有另一种方法可以将 SQL 函数声明为返回一个集合,即使用语法
RETURNS TABLE(columns)
. 这相当于使用一个或多个OUT
参数加上将函数标记为返回SETOF
记录(或SETOF
单个输出参数的类型,视情况而定)。
你能解释一下如何RETURN TABLE(columns)
等效于:
使用一个或多个OUT
参数,以及
将函数标记为返回SETOF
记录(或SETOF
单个输出参数的类型,视情况而定)
谢谢。
这些函数是等效的:
create type my_type as (id int, str text);
create or replace function function_returning_setof(n int)
returns setof my_type language sql as $$
select i, i::text
from generate_series(1, n) i;
$$;
create or replace function function_returning_table(n int)
returns table(id int, str text) language sql as $$
select i, i::text
from generate_series(1, n) i;
$$;
create or replace function function_with_out_params(in n int, out id int, out str text)
returns setof record language sql as $$
select i, i::text
from generate_series(1, n) i;
$$;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句