函數傳回的記錄中串聯的欄位
將資料表與傳回多列的函式連接時,必須考慮潛在資料串連問題。為了應對這項挑戰,讓我們探索從返回的記錄中提取各個列的不同方法。
分解行的一般方法
要分解函數傳回的行,使用以下語法:
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中文網其他相關文章!