函数返回的记录中串联的列
将表与返回多列的函数连接时,必须考虑潜在数据串联问题。为了应对这一挑战,让我们探索从返回的记录中提取各个列的不同方法。
分解行的一般方法
要分解函数返回的行,使用以下语法:
SELECT * FROM function_name(arguments);
Postgres 9.3 及更高版本:使用JOIN LATERAL 分解结果
对于 Postgres 9.3 或更高版本,您可以利用 JOIN LATERAL 更清晰地分解结果:
SELECT ... FROM table_name a JOIN LATERAL function_name(a.accountid, '2014-08-12') f WHERE ...
Postgres 9.2 或更早版本:分解结果使用子查询
在早期的Postgres版本中,您可以使用子查询来分解结果:
SELECT ... FROM ( SELECT a.*, function_name(a.accountid, '2014-08-12') AS rec FROM table_name a WHERE ... ) a
分解结果的最佳实践
以上是如何从数据库函数返回的记录中高效地提取列?的详细内容。更多信息请关注PHP中文网其他相关文章!