我正在网上阅读关于 PostgreSQL 上的函数并返回结果
在这个链接中:
- SQL 函数返回类型:TABLE 与 SETOF 记录 https://stackoverflow.com/questions/22423958/sql-function-return-type-table-vs-setof-records
- 如何在 Postgres sql 函数中引用命名参数? https://stackoverflow.com/questions/9771546/how-do-i-reference-named-parameters-in-postgres-sql-functions
- http://www.postgresqltutorial.com/plpgsql-function-returns-a-table/ http://www.postgresqltutorial.com/plpgsql-function-returns-a-table/
我写了这个函数:
create or replace function brand_hierarchy(account_value int)
RETURNS table (topID INTEGER, accountId INTEGER, liveRowCount bigint,archiveRowCount bigint)
AS
$BODY$
SELECT * FROM my_client_numbers
where accountId = coalesce($1,accountId);
$BODY$
LANGUAGE sql;
它有效并在单列记录类型中返回结果。
请注意,可能会返回不止一行。
现在的回应是:
record
(1172,1172,1011,0)
(1172,1412,10,40)
.....
我希望得到的结果不是记录而是多列
|---------|---------|------------|----------------|
| topID |accountId|liveRowCount|archiveRowCount |
|---------|---------|------------|----------------|
| 1172 |1172 | 1011 | 0 |
| 1172 |1412 | 10 | 40 |
有没有办法从 PostgreSQL 函数返回多列
返回表(或 setof)的函数应该在 FROM 子句中使用:
select *
from brand_hierarchy(1234)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)